Preparing development version 2.4.12-SNAPSHOT
[hbase.git] / hbase-examples / pom.xml
blob100780f77f261fbcc7494b5ad0ed930a518c4af0
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>2.4.12-SNAPSHOT</version>
27     <relativePath>../hbase-build-configuration</relativePath>
28   </parent>
29   <artifactId>hbase-examples</artifactId>
30   <name>Apache HBase - Examples</name>
31   <description>Examples of HBase usage</description>
32   <!--REMOVE-->
33   <build>
34     <plugins>
35       <plugin>
36         <!--Make it so assembly:single does nothing in here-->
37         <artifactId>maven-assembly-plugin</artifactId>
38         <configuration>
39           <skipAssembly>true</skipAssembly>
40         </configuration>
41       </plugin>
42       <plugin>
43         <artifactId>maven-surefire-plugin</artifactId>
44         <configuration>
45           <!-- Have to set the groups here because we only do
46                     split tests in this package, so groups on live in this module -->
47           <groups>${surefire.firstPartGroups}</groups>
48         </configuration>
49       </plugin>
50       <!-- Make a jar and put the sources in the jar -->
51       <plugin>
52         <groupId>org.apache.maven.plugins</groupId>
53         <artifactId>maven-source-plugin</artifactId>
54       </plugin>
55       <plugin>
56         <groupId>org.xolstice.maven.plugins</groupId>
57         <artifactId>protobuf-maven-plugin</artifactId>
58         <executions>
59           <execution>
60             <id>compile-protoc</id>
61             <phase>generate-sources</phase>
62             <goals>
63               <goal>compile</goal>
64             </goals>
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-miscellaneous</artifactId>
85     </dependency>
86     <dependency>
87       <groupId>org.apache.hbase.thirdparty</groupId>
88       <artifactId>hbase-shaded-netty</artifactId>
89     </dependency>
90     <dependency>
91       <groupId>org.apache.hbase</groupId>
92       <artifactId>hbase-common</artifactId>
93     </dependency>
94     <dependency>
95       <groupId>org.apache.hbase</groupId>
96       <artifactId>hbase-protocol</artifactId>
97     </dependency>
98     <dependency>
99       <groupId>org.apache.hbase</groupId>
100       <artifactId>hbase-logging</artifactId>
101       <type>test-jar</type>
102       <scope>test</scope>
103     </dependency>
104     <dependency>
105       <groupId>org.apache.hbase</groupId>
106       <artifactId>hbase-client</artifactId>
107     </dependency>
108     <dependency>
109       <groupId>org.apache.hbase</groupId>
110       <artifactId>hbase-asyncfs</artifactId>
111     </dependency>
112     <dependency>
113       <groupId>org.apache.hbase</groupId>
114       <artifactId>hbase-asyncfs</artifactId>
115       <type>test-jar</type>
116       <scope>test</scope>
117     </dependency>
118     <dependency>
119       <groupId>org.apache.hbase</groupId>
120       <artifactId>hbase-server</artifactId>
121     </dependency>
122     <dependency>
123       <groupId>org.apache.hbase</groupId>
124       <artifactId>hbase-mapreduce</artifactId>
125     </dependency>
126     <dependency>
127       <groupId>org.apache.hbase</groupId>
128       <artifactId>hbase-endpoint</artifactId>
129     </dependency>
130     <dependency>
131       <groupId>org.apache.hbase</groupId>
132       <artifactId>hbase-thrift</artifactId>
133     </dependency>
134     <dependency>
135       <groupId>org.apache.hbase</groupId>
136       <artifactId>hbase-metrics-api</artifactId>
137     </dependency>
138     <dependency>
139       <groupId>org.apache.hbase</groupId>
140       <artifactId>hbase-testing-util</artifactId>
141       <scope>test</scope>
142     </dependency>
143     <dependency>
144       <groupId>org.apache.thrift</groupId>
145       <artifactId>libthrift</artifactId>
146     </dependency>
147     <dependency>
148       <groupId>commons-io</groupId>
149       <artifactId>commons-io</artifactId>
150     </dependency>
151     <dependency>
152       <groupId>org.slf4j</groupId>
153       <artifactId>slf4j-api</artifactId>
154     </dependency>
155     <dependency>
156       <groupId>org.apache.zookeeper</groupId>
157       <artifactId>zookeeper</artifactId>
158     </dependency>
159     <dependency>
160       <groupId>com.google.protobuf</groupId>
161       <artifactId>protobuf-java</artifactId>
162     </dependency>
163     <dependency>
164       <groupId>org.apache.curator</groupId>
165       <artifactId>curator-framework</artifactId>
166     </dependency>
167     <dependency>
168       <groupId>org.apache.curator</groupId>
169       <artifactId>curator-client</artifactId>
170     </dependency>
171     <dependency>
172       <groupId>org.apache.curator</groupId>
173       <artifactId>curator-recipes</artifactId>
174     </dependency>
175     <dependency>
176       <groupId>com.github.stephenc.findbugs</groupId>
177       <artifactId>findbugs-annotations</artifactId>
178       <scope>compile</scope>
179       <optional>true</optional>
180     </dependency>
181     <dependency>
182       <groupId>org.apache.hbase</groupId>
183       <artifactId>hbase-rest</artifactId>
184     </dependency>
185     <dependency>
186       <groupId>junit</groupId>
187       <artifactId>junit</artifactId>
188       <scope>test</scope>
189     </dependency>
190     <dependency>
191       <groupId>org.mockito</groupId>
192       <artifactId>mockito-core</artifactId>
193       <scope>test</scope>
194     </dependency>
195     <dependency>
196       <groupId>org.apache.hadoop</groupId>
197       <artifactId>hadoop-minikdc</artifactId>
198       <scope>test</scope>
199       <exclusions>
200         <exclusion>
201           <groupId>bouncycastle</groupId>
202           <artifactId>bcprov-jdk15</artifactId>
203         </exclusion>
204       </exclusions>
205     </dependency>
206     <dependency>
207       <groupId>org.bouncycastle</groupId>
208       <artifactId>bcprov-jdk15on</artifactId>
209       <scope>test</scope>
210     </dependency>
211     <dependency>
212       <groupId>org.apache.hbase</groupId>
213       <artifactId>hbase-http</artifactId>
214       <scope>test</scope>
215       <type>test-jar</type>
216     </dependency>
217     <dependency>
218       <groupId>org.slf4j</groupId>
219       <artifactId>jcl-over-slf4j</artifactId>
220       <scope>test</scope>
221     </dependency>
222     <dependency>
223       <groupId>org.slf4j</groupId>
224       <artifactId>jul-to-slf4j</artifactId>
225       <scope>test</scope>
226     </dependency>
227     <dependency>
228       <groupId>org.slf4j</groupId>
229       <artifactId>slf4j-reload4j</artifactId>
230       <scope>test</scope>
231     </dependency>
232     <dependency>
233       <groupId>ch.qos.reload4j</groupId>
234       <artifactId>reload4j</artifactId>
235       <scope>test</scope>
236     </dependency>
237   </dependencies>
238   <profiles>
239     <!-- Skip the tests in this module -->
240     <profile>
241       <id>skipExamplesTests</id>
242       <activation>
243         <property>
244           <name>skipExamplesTests</name>
245         </property>
246       </activation>
247       <properties>
248         <surefire.skipFirstPart>true</surefire.skipFirstPart>
249         <surefire.skipSecondPart>true</surefire.skipSecondPart>
250       </properties>
251     </profile>
252     <!-- Profiles for building against different hadoop versions -->
253     <!-- There are a lot of common dependencies used here, should investigate
254          if we can combine these profiles somehow -->
255     <!-- profile for building against Hadoop 2.x.  This is the default -->
256     <profile>
257       <id>hadoop-2.0</id>
258       <activation>
259         <property>
260           <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
261           <!--h2-->
262           <name>!hadoop.profile</name>
263         </property>
264       </activation>
265       <dependencies>
266         <dependency>
267           <groupId>org.apache.hadoop</groupId>
268           <artifactId>hadoop-mapreduce-client-core</artifactId>
269         </dependency>
270         <dependency>
271           <groupId>org.apache.hadoop</groupId>
272           <artifactId>hadoop-common</artifactId>
273         </dependency>
274       </dependencies>
275       <build>
276         <plugins>
277           <plugin>
278             <artifactId>maven-dependency-plugin</artifactId>
279             <executions>
280               <execution>
281                 <id>create-mrapp-generated-classpath</id>
282                 <phase>generate-test-resources</phase>
283                 <goals>
284                   <goal>build-classpath</goal>
285                 </goals>
286                 <configuration>
287                   <!-- needed to run the unit test for DS to generate
288                                  the required classpath that is required in the env
289                                  of the launch container in the mini mr/yarn cluster
290                                  -->
291                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
292                 </configuration>
293               </execution>
294             </executions>
295           </plugin>
296         </plugins>
297       </build>
298     </profile>
299     <!--
300        profile for building against Hadoop 3.0.x. Activate using:
301         mvn -Dhadoop.profile=3.0
302      -->
303     <profile>
304       <id>hadoop-3.0</id>
305       <activation>
306         <property>
307           <name>hadoop.profile</name>
308           <value>3.0</value>
309         </property>
310       </activation>
311       <dependencies>
312         <dependency>
313           <groupId>org.apache.hadoop</groupId>
314           <artifactId>hadoop-common</artifactId>
315         </dependency>
316         <dependency>
317           <groupId>org.apache.hadoop</groupId>
318           <artifactId>hadoop-minicluster</artifactId>
319           <exclusions>
320             <exclusion>
321               <groupId>javax.xml.bind.</groupId>
322               <artifactId>jaxb-api</artifactId>
323             </exclusion>
324             <exclusion>
325              <groupId>javax.ws.rs</groupId>
326              <artifactId>jsr311-api</artifactId>
327             </exclusion>
328           </exclusions>
329         </dependency>
330       </dependencies>
331       <build>
332         <plugins>
333           <plugin>
334             <artifactId>maven-dependency-plugin</artifactId>
335             <executions>
336               <execution>
337                 <id>create-mrapp-generated-classpath</id>
338                 <phase>generate-test-resources</phase>
339                 <goals>
340                   <goal>build-classpath</goal>
341                 </goals>
342                 <configuration>
343                   <!-- needed to run the unit test for DS to generate
344                                  the required classpath that is required in the env
345                                  of the launch container in the mini mr/yarn cluster
346                                  -->
347                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
348                 </configuration>
349               </execution>
350             </executions>
351           </plugin>
352         </plugins>
353       </build>
354     </profile>
355     <profile>
356       <id>eclipse-specific</id>
357       <activation>
358         <property>
359           <name>m2e.version</name>
360         </property>
361       </activation>
362       <build>
363         <pluginManagement>
364           <plugins>
365             <!--This plugin's configuration is used to store Eclipse m2e settings
366                  only. It has no influence on the Maven build itself.-->
367             <plugin>
368               <groupId>org.eclipse.m2e</groupId>
369               <artifactId>lifecycle-mapping</artifactId>
370               <configuration>
371                 <lifecycleMappingMetadata>
372                   <pluginExecutions>
373                     <pluginExecution>
374                       <pluginExecutionFilter>
375                         <groupId>org.apache.maven.plugins</groupId>
376                         <artifactId>maven-dependency-plugin</artifactId>
377                         <versionRange>[2.8,)</versionRange>
378                         <goals>
379                           <goal>build-classpath</goal>
380                         </goals>
381                       </pluginExecutionFilter>
382                       <action>
383                         <ignore/>
384                       </action>
385                     </pluginExecution>
386                   </pluginExecutions>
387                 </lifecycleMappingMetadata>
388               </configuration>
389             </plugin>
390           </plugins>
391         </pluginManagement>
392       </build>
393     </profile>
394   </profiles>
395 </project>