HBASE-22623 - Add RegionObserver coprocessor hook for preWALAppend (#390)
[hbase.git] / hbase-endpoint / pom.xml
blob0985c46dcc30f414da723df0cebbcdb4878258fa
1 <?xml version="1.0"?>
2 <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
3   <!--
4     /**
5      * Licensed to the Apache Software Foundation (ASF) under one
6      * or more contributor license agreements.  See the NOTICE file
7      * distributed with this work for additional information
8      * regarding copyright ownership.  The ASF licenses this file
9      * to you under the Apache License, Version 2.0 (the
10      * "License"); you may not use this file except in compliance
11      * with the License.  You may obtain a copy of the License at
12      *
13      *     http://www.apache.org/licenses/LICENSE-2.0
14      *
15      * Unless required by applicable law or agreed to in writing, software
16      * distributed under the License is distributed on an "AS IS" BASIS,
17      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18      * See the License for the specific language governing permissions and
19      * limitations under the License.
20      */
21     -->
22   <modelVersion>4.0.0</modelVersion>
23   <parent>
24     <artifactId>hbase-build-configuration</artifactId>
25     <groupId>org.apache.hbase</groupId>
26     <version>3.0.0-SNAPSHOT</version>
27     <relativePath>../hbase-build-configuration</relativePath>
28   </parent>
29   <artifactId>hbase-endpoint</artifactId>
30   <name>Apache HBase - Coprocessor Endpoint</name>
31   <description>HBase Coprocessor Endpoint implementations</description>
32   <!--REMOVE-->
33   <properties>
34     <maven.javadoc.skip>true</maven.javadoc.skip>
35   </properties>
36   <build>
37     <plugins>
38       <!-- Make a jar and put the sources in the jar -->
39       <plugin>
40         <groupId>org.apache.maven.plugins</groupId>
41         <artifactId>maven-source-plugin</artifactId>
42       </plugin>
43       <plugin>
44         <!--Make it so assembly:single does nothing in here-->
45         <artifactId>maven-assembly-plugin</artifactId>
46         <configuration>
47           <skipAssembly>true</skipAssembly>
48         </configuration>
49       </plugin>
50       <plugin>
51         <groupId>org.xolstice.maven.plugins</groupId>
52         <artifactId>protobuf-maven-plugin</artifactId>
53         <executions>
54           <execution>
55             <id>compile-protoc</id>
56             <phase>generate-sources</phase>
57             <goals>
58               <goal>compile</goal>
59             </goals>
60              <configuration>
61               <additionalProtoPathElements>
62                 <additionalProtoPathElement>${basedir}/../hbase-protocol/src/main/protobuf</additionalProtoPathElement>
63               </additionalProtoPathElements>
64              </configuration>
65           </execution>
66         </executions>
67       </plugin>
68       <plugin>
69         <groupId>net.revelc.code</groupId>
70         <artifactId>warbucks-maven-plugin</artifactId>
71       </plugin>
72       <plugin>
73         <groupId>org.apache.maven.plugins</groupId>
74         <artifactId>maven-checkstyle-plugin</artifactId>
75         <configuration>
76             <failOnViolation>true</failOnViolation>
77         </configuration>
78       </plugin>
79     </plugins>
80   </build>
81   <dependencies>
82     <dependency>
83       <groupId>org.apache.hbase.thirdparty</groupId>
84       <artifactId>hbase-shaded-protobuf</artifactId>
85     </dependency>
86     <dependency>
87       <groupId>org.apache.hbase.thirdparty</groupId>
88       <artifactId>hbase-shaded-miscellaneous</artifactId>
89     </dependency>
90     <dependency>
91       <groupId>org.apache.hbase</groupId>
92       <artifactId>hbase-annotations</artifactId>
93       <type>test-jar</type>
94       <scope>test</scope>
95     </dependency>
96     <dependency>
97       <groupId>org.apache.hbase</groupId>
98       <artifactId>hbase-common</artifactId>
99     </dependency>
100     <dependency>
101       <groupId>org.apache.hbase</groupId>
102       <artifactId>hbase-common</artifactId>
103       <type>test-jar</type>
104       <scope>test</scope>
105     </dependency>
106     <dependency>
107       <groupId>org.apache.hbase</groupId>
108       <artifactId>hbase-hadoop-compat</artifactId>
109     </dependency>
110     <dependency>
111       <groupId>org.apache.hbase</groupId>
112       <artifactId>hbase-hadoop-compat</artifactId>
113       <type>test-jar</type>
114       <scope>test</scope>
115     </dependency>
116     <dependency>
117       <groupId>org.apache.hbase</groupId>
118       <artifactId>${compat.module}</artifactId>
119       <version>${project.version}</version>
120     </dependency>
121     <dependency>
122       <groupId>org.apache.hbase</groupId>
123       <artifactId>${compat.module}</artifactId>
124       <version>${project.version}</version>
125       <type>test-jar</type>
126       <scope>test</scope>
127     </dependency>
128     <dependency>
129       <groupId>org.apache.hbase</groupId>
130       <artifactId>hbase-protocol</artifactId>
131     </dependency>
132     <dependency>
133       <groupId>org.apache.hbase</groupId>
134       <artifactId>hbase-protocol-shaded</artifactId>
135     </dependency>
136     <dependency>
137       <groupId>org.apache.hbase</groupId>
138       <artifactId>hbase-client</artifactId>
139     </dependency>
140     <!--Some of the CPEPs use hbase server-side internals; they shouldn't!-->
141     <dependency>
142       <groupId>org.apache.hbase</groupId>
143       <artifactId>hbase-zookeeper</artifactId>
144     </dependency>
145     <dependency>
146       <groupId>org.apache.hbase</groupId>
147       <artifactId>hbase-zookeeper</artifactId>
148       <type>test-jar</type>
149       <scope>test</scope>
150     </dependency>
151     <dependency>
152       <groupId>org.bouncycastle</groupId>
153       <artifactId>bcprov-jdk15on</artifactId>
154       <scope>test</scope>
155     </dependency>
156     <dependency>
157       <groupId>org.apache.hbase</groupId>
158       <artifactId>hbase-server</artifactId>
159     </dependency>
160     <dependency>
161       <groupId>org.apache.hbase</groupId>
162       <artifactId>hbase-server</artifactId>
163       <type>test-jar</type>
164       <scope>test</scope>
165     </dependency>
166     <dependency>
167       <groupId>org.apache.hbase</groupId>
168       <artifactId>hbase-http</artifactId>
169       <type>test-jar</type>
170       <scope>test</scope>
171     </dependency>
172     <!-- The coprocessor.Export needs mapreduce.Import and mapreduce.Export to run the unit tests -->
173     <!-- see org.apache.hadoop.hbase.coprocessor.TestImportExport -->
174     <dependency>
175       <groupId>org.apache.hbase</groupId>
176       <artifactId>hbase-mapreduce</artifactId>
177     </dependency>
178     <dependency>
179       <groupId>org.apache.hbase</groupId>
180       <artifactId>hbase-mapreduce</artifactId>
181       <type>test-jar</type>
182       <scope>test</scope>
183     </dependency>
184     <dependency>
185       <groupId>org.apache.hadoop</groupId>
186       <artifactId>hadoop-minikdc</artifactId>
187       <scope>test</scope>
188     </dependency>
189     <!-- General dependencies -->
190     <dependency>
191       <groupId>org.slf4j</groupId>
192       <artifactId>slf4j-api</artifactId>
193     </dependency>
194     <dependency>
195       <groupId>org.apache.curator</groupId>
196       <artifactId>curator-client</artifactId>
197     </dependency>
198     <dependency>
199       <groupId>junit</groupId>
200       <artifactId>junit</artifactId>
201       <scope>test</scope>
202     </dependency>
203     <dependency>
204       <groupId>org.mockito</groupId>
205       <artifactId>mockito-core</artifactId>
206       <scope>test</scope>
207     </dependency>
208   </dependencies>
209   <profiles>
210     <!-- Skip the tests in this module -->
211     <profile>
212       <id>skipRpcTests</id>
213       <activation>
214         <property>
215           <name>skipRpcTests</name>
216         </property>
217       </activation>
218       <properties>
219         <surefire.skipFirstPart>true</surefire.skipFirstPart>
220         <surefire.skipSecondPart>true</surefire.skipSecondPart>
221       </properties>
222     </profile>
223     <!-- Profiles for building against different hadoop versions -->
224     <!-- There are a lot of common dependencies used here, should investigate
225     if we can combine these profiles somehow -->
226     <!-- profile for building against Hadoop 2.x.  This is the default.  -->
227     <profile>
228       <id>hadoop-2.0</id>
229       <activation>
230         <property>
231           <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
232           <!--h2-->
233           <name>!hadoop.profile</name>
234         </property>
235       </activation>
236       <dependencies>
237         <dependency>
238           <groupId>org.apache.hadoop</groupId>
239           <artifactId>hadoop-common</artifactId>
240         </dependency>
241         <dependency>
242           <groupId>org.apache.hadoop</groupId>
243           <artifactId>hadoop-auth</artifactId>
244         </dependency>
245         <dependency>
246           <groupId>org.apache.hadoop</groupId>
247           <artifactId>hadoop-client</artifactId>
248           <exclusions>
249             <exclusion>
250               <groupId>com.google.guava</groupId>
251               <artifactId>guava</artifactId>
252             </exclusion>
253           </exclusions>
254         </dependency>
255         <dependency>
256           <groupId>org.apache.hadoop</groupId>
257           <artifactId>hadoop-hdfs</artifactId>
258         </dependency>
259         <dependency>
260           <groupId>org.apache.hadoop</groupId>
261           <artifactId>hadoop-hdfs</artifactId>
262           <type>test-jar</type>
263           <scope>test</scope>
264         </dependency>
265         <dependency>
266           <groupId>org.apache.hadoop</groupId>
267           <artifactId>hadoop-minicluster</artifactId>
268           <scope>test</scope>
269           <exclusions>
270             <exclusion>
271               <groupId>com.google.guava</groupId>
272               <artifactId>guava</artifactId>
273             </exclusion>
274             <exclusion>
275               <groupId>org.apache.zookeeper</groupId>
276               <artifactId>zookeeper</artifactId>
277             </exclusion>
278           </exclusions>
279         </dependency>
280         <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
281         <dependency>
282           <groupId>io.netty</groupId>
283           <artifactId>netty</artifactId>
284           <version>${netty.hadoop.version}</version>
285           <scope>test</scope>
286         </dependency>
287       </dependencies>
288     </profile>
289     <!--
290       profile for building against Hadoop 3.0.x. Activate using:
291        mvn -Dhadoop.profile=3.0
292     -->
293     <profile>
294       <id>hadoop-3.0</id>
295       <activation>
296         <property>
297           <name>hadoop.profile</name>
298           <value>3.0</value>
299         </property>
300       </activation>
301       <dependencies>
302         <dependency>
303           <groupId>org.apache.hadoop</groupId>
304           <artifactId>hadoop-common</artifactId>
305         </dependency>
306         <dependency>
307           <groupId>org.apache.hadoop</groupId>
308           <artifactId>hadoop-minicluster</artifactId>
309           <exclusions>
310             <exclusion>
311               <groupId>com.google.guava</groupId>
312               <artifactId>guava</artifactId>
313             </exclusion>
314           </exclusions>
315         </dependency>
316         <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
317         <dependency>
318           <groupId>io.netty</groupId>
319           <artifactId>netty</artifactId>
320           <version>3.6.2.Final</version>
321           <scope>test</scope>
322         </dependency>
323       </dependencies>
324     </profile>
325     <profile>
326       <id>eclipse-specific</id>
327       <activation>
328         <property>
329           <name>m2e.version</name>
330         </property>
331       </activation>
332       <build>
333         <pluginManagement>
334           <plugins>
335             <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
336             <plugin>
337               <groupId>org.eclipse.m2e</groupId>
338               <artifactId>lifecycle-mapping</artifactId>
339               <version>1.0.0</version>
340               <configuration>
341                 <lifecycleMappingMetadata>
342                   <pluginExecutions>
343                     <pluginExecution>
344                       <pluginExecutionFilter>
345                         <groupId>org.apache.hadoop</groupId>
346                         <artifactId>hadoop-maven-plugins</artifactId>
347                         <versionRange>[2.0.5-alpha,)</versionRange>
348                         <goals>
349                           <goal>protoc</goal>
350                         </goals>
351                       </pluginExecutionFilter>
352                       <action>
353                         <ignore/>
354                       </action>
355                     </pluginExecution>
356                   </pluginExecutions>
357                 </lifecycleMappingMetadata>
358               </configuration>
359             </plugin>
360           </plugins>
361         </pluginManagement>
362       </build>
363     </profile>
364   </profiles>
365 </project>