Revert "Preparing development version 2.4.2-SNAPSHOT"
[hbase.git] / hbase-mapreduce / pom.xml
blob2478cf7fa54502dead6047bfff40405ede6b90b3
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"
3          xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4   <!--
5   /**
6    * Licensed to the Apache Software Foundation (ASF) under one
7    * or more contributor license agreements.  See the NOTICE file
8    * distributed with this work for additional information
9    * regarding copyright ownership.  The ASF licenses this file
10    * to you under the Apache License, Version 2.0 (the
11    * "License"); you may not use this file except in compliance
12    * with the License.  You may obtain a copy of the License at
13    *
14    *     http://www.apache.org/licenses/LICENSE-2.0
15    *
16    * Unless required by applicable law or agreed to in writing, software
17    * distributed under the License is distributed on an "AS IS" BASIS,
18    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19    * See the License for the specific language governing permissions and
20    * limitations under the License.
21    */
22   -->
23   <modelVersion>4.0.0</modelVersion>
24   <parent>
25     <artifactId>hbase-build-configuration</artifactId>
26     <groupId>org.apache.hbase</groupId>
27     <version>2.4.1</version>
28     <relativePath>../hbase-build-configuration</relativePath>
29   </parent>
30   <artifactId>hbase-mapreduce</artifactId>
31   <name>Apache HBase - MapReduce</name>
32   <description>
33     This module contains implementations of InputFormat, OutputFormat, Mapper, Reducer, etc which
34     are needed for running MR jobs on tables, WALs, HFiles and other HBase specific constructs.
35     It also contains a bunch of tools: RowCounter, ImportTsv, Import, Export, CompactionTool,
36     ExportSnapshot, WALPlayer, etc
37   </description>
39   <build>
40     <plugins>
41       <plugin>
42         <!--Make it so assembly:single does nothing in here-->
43         <artifactId>maven-assembly-plugin</artifactId>
44         <configuration>
45           <skipAssembly>true</skipAssembly>
46         </configuration>
47       </plugin>
48       <plugin>
49         <groupId>org.apache.maven.plugins</groupId>
50         <artifactId>maven-jar-plugin</artifactId>
51         <configuration>
52           <archive>
53             <manifest>
54               <!--Include the Driver class as the 'main'.
55                    Executing the jar will then show a list of the basic MR jobs.
56                    -->
57               <mainClass>org/apache/hadoop/hbase/mapreduce/Driver</mainClass>
58             </manifest>
59           </archive>
60         </configuration>
61       </plugin>
62       <!-- Make a jar and put the sources in the jar -->
63       <plugin>
64         <groupId>org.apache.maven.plugins</groupId>
65         <artifactId>maven-source-plugin</artifactId>
66       </plugin>
67       <plugin>
68         <groupId>net.revelc.code</groupId>
69         <artifactId>warbucks-maven-plugin</artifactId>
70       </plugin>
71     </plugins>
72   </build>
74   <dependencies>
75     <dependency>
76       <groupId>org.apache.hbase.thirdparty</groupId>
77       <artifactId>hbase-shaded-miscellaneous</artifactId>
78     </dependency>
79     <dependency>
80       <groupId>org.apache.hbase.thirdparty</groupId>
81       <artifactId>hbase-shaded-netty</artifactId>
82     </dependency>
83     <dependency>
84       <groupId>org.apache.hbase.thirdparty</groupId>
85       <artifactId>hbase-shaded-protobuf</artifactId>
86     </dependency>
87     <!-- Intra-project dependencies -->
88     <dependency>
89       <groupId>org.apache.hbase</groupId>
90       <artifactId>hbase-annotations</artifactId>
91       <type>test-jar</type>
92       <scope>test</scope>
93     </dependency>
94     <dependency>
95       <groupId>org.apache.hbase</groupId>
96       <artifactId>hbase-logging</artifactId>
97       <type>test-jar</type>
98       <scope>test</scope>
99     </dependency>
100     <dependency>
101       <groupId>org.apache.hbase</groupId>
102       <artifactId>hbase-common</artifactId>
103     </dependency>
104     <dependency>
105       <groupId>org.apache.hbase</groupId>
106       <artifactId>hbase-zookeeper</artifactId>
107     </dependency>
108     <dependency>
109       <groupId>org.apache.hbase</groupId>
110       <artifactId>hbase-zookeeper</artifactId>
111       <type>test-jar</type>
112       <scope>test</scope>
113     </dependency>
114     <dependency>
115       <!--Needed by ExportSnapshot. It is reading
116            Snapshot protos. TODO: Move to internal types.-->
117       <groupId>org.apache.hbase</groupId>
118       <artifactId>hbase-protocol</artifactId>
119     </dependency>
120     <dependency>
121       <!--Needed by ExportSnapshot. It is reading
122            Snapshot protos. TODO: Move to internal types.-->
123       <groupId>com.google.protobuf</groupId>
124       <artifactId>protobuf-java</artifactId>
125     </dependency>
126     <dependency>
127       <groupId>org.apache.hbase</groupId>
128       <artifactId>hbase-protocol-shaded</artifactId>
129     </dependency>
130     <dependency>
131       <groupId>org.apache.hbase</groupId>
132       <artifactId>hbase-metrics</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-asyncfs</artifactId>
141     </dependency>
142     <dependency>
143       <groupId>org.apache.hbase</groupId>
144       <artifactId>hbase-asyncfs</artifactId>
145       <type>test-jar</type>
146       <scope>test</scope>
147     </dependency>
148     <dependency>
149       <groupId>io.dropwizard.metrics</groupId>
150       <artifactId>metrics-core</artifactId>
151     </dependency>
152     <!--This is not used by hbase directly.  Used by thrift,
153         dropwizard and zk.-->
154     <dependency>
155       <groupId>org.slf4j</groupId>
156       <artifactId>slf4j-api</artifactId>
157     </dependency>
158     <dependency>
159       <groupId>org.apache.htrace</groupId>
160       <artifactId>htrace-core4</artifactId>
161     </dependency>
162     <dependency>
163       <groupId>org.apache.hbase</groupId>
164       <artifactId>hbase-common</artifactId>
165       <type>test-jar</type>
166       <scope>test</scope>
167     </dependency>
168     <dependency>
169       <groupId>org.apache.hbase</groupId>
170       <artifactId>hbase-client</artifactId>
171     </dependency>
172     <dependency>
173       <groupId>org.apache.hbase</groupId>
174       <artifactId>hbase-hadoop-compat</artifactId>
175     </dependency>
176     <dependency>
177       <groupId>org.apache.hbase</groupId>
178       <artifactId>${compat.module}</artifactId>
179     </dependency>
180     <dependency>
181       <groupId>org.apache.hbase</groupId>
182       <artifactId>hbase-hadoop-compat</artifactId>
183       <type>test-jar</type>
184       <scope>test</scope>
185     </dependency>
186     <dependency>
187       <!--Do not removed. maven dependency:analyze says not needed but it
188            is; perhaps it comes in via reflection so maven can't figure it-->
189       <groupId>org.apache.hbase</groupId>
190       <artifactId>${compat.module}</artifactId>
191       <type>test-jar</type>
192       <scope>test</scope>
193     </dependency>
194     <dependency>
195       <groupId>org.apache.hbase</groupId>
196       <artifactId>hbase-server</artifactId>
197       <exclusions>
198         <!-- commons-logging is only used by hbase-http's HttpRequestLog and hbase-server's
199              HBaseTestingUtil. We don't need either of those here, so execlude it.
200           -->
201         <exclusion>
202           <groupId>commons-logging</groupId>
203           <artifactId>commons-logging</artifactId>
204         </exclusion>
205       </exclusions>
206     </dependency>
207     <dependency>
208       <groupId>org.apache.hbase</groupId>
209       <artifactId>hbase-server</artifactId>
210       <type>test-jar</type>
211       <scope>test</scope>
212     </dependency>
213     <dependency>
214       <groupId>org.apache.hbase</groupId>
215       <artifactId>hbase-replication</artifactId>
216     </dependency>
217     <!-- General dependencies -->
218     <dependency>
219       <groupId>com.github.stephenc.findbugs</groupId>
220       <artifactId>findbugs-annotations</artifactId>
221       <scope>compile</scope>
222       <optional>true</optional>
223     </dependency>
224     <dependency>
225       <groupId>org.apache.hadoop</groupId>
226       <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
227       <type>test-jar</type>
228       <scope>test</scope>
229       <exclusions>
230         <exclusion>
231           <groupId>org.codehaus.jackson</groupId>
232           <artifactId>jackson-mapper-asl</artifactId>
233         </exclusion>
234         <exclusion>
235           <groupId>org.codehaus.jackson</groupId>
236           <artifactId>jackson-core-asl</artifactId>
237         </exclusion>
238         <exclusion>
239           <groupId>javax.xml.bind</groupId>
240           <artifactId>jaxb-api</artifactId>
241         </exclusion>
242         <exclusion>
243           <groupId>javax.ws.rs</groupId>
244           <artifactId>jsr311-api</artifactId>
245         </exclusion>
246       </exclusions>
247     </dependency>
248     <dependency>
249       <groupId>org.apache.hadoop</groupId>
250       <artifactId>hadoop-hdfs</artifactId>
251       <type>test-jar</type>
252       <scope>test</scope>
253     </dependency>
254     <dependency>
255       <groupId>org.mockito</groupId>
256       <artifactId>mockito-core</artifactId>
257       <scope>test</scope>
258     </dependency>
259     <dependency>
260       <groupId>commons-io</groupId>
261       <artifactId>commons-io</artifactId>
262     </dependency>
263     <dependency>
264       <groupId>org.apache.commons</groupId>
265       <artifactId>commons-lang3</artifactId>
266     </dependency>
267     <dependency>
268       <groupId>org.apache.zookeeper</groupId>
269       <artifactId>zookeeper</artifactId>
270     </dependency>
271     <dependency>
272       <groupId>junit</groupId>
273       <artifactId>junit</artifactId>
274       <scope>test</scope>
275     </dependency>
276     <dependency>
277       <groupId>org.slf4j</groupId>
278       <artifactId>jcl-over-slf4j</artifactId>
279       <scope>test</scope>
280     </dependency>
281     <dependency>
282       <groupId>org.slf4j</groupId>
283       <artifactId>jul-to-slf4j</artifactId>
284       <scope>test</scope>
285     </dependency>
286     <dependency>
287       <groupId>org.slf4j</groupId>
288       <artifactId>slf4j-log4j12</artifactId>
289       <scope>test</scope>
290     </dependency>
291     <dependency>
292       <groupId>log4j</groupId>
293       <artifactId>log4j</artifactId>
294       <scope>test</scope>
295     </dependency>
296   </dependencies>
297   <profiles>
298     <!-- Skip the tests in this module -->
299     <profile>
300       <id>skipMapReduceTests</id>
301       <activation>
302         <property>
303           <name>skipMapReduceTests</name>
304         </property>
305       </activation>
306       <properties>
307         <surefire.skipFirstPart>true</surefire.skipFirstPart>
308         <surefire.skipSecondPart>true</surefire.skipSecondPart>
309       </properties>
310     </profile>
311     <!-- profile against Hadoop 2.x: This is the default. -->
312     <profile>
313       <id>hadoop-2.0</id>
314       <activation>
315         <property>
316             <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
317             <!--h2--><name>!hadoop.profile</name>
318         </property>
319       </activation>
320       <dependencies>
321         <dependency>
322           <groupId>org.apache.hadoop</groupId>
323           <artifactId>hadoop-common</artifactId>
324           <exclusions>
325             <exclusion>
326               <groupId>net.java.dev.jets3t</groupId>
327               <artifactId>jets3t</artifactId>
328             </exclusion>
329             <exclusion>
330               <groupId>javax.servlet.jsp</groupId>
331               <artifactId>jsp-api</artifactId>
332             </exclusion>
333             <exclusion>
334               <groupId>org.mortbay.jetty</groupId>
335               <artifactId>jetty</artifactId>
336             </exclusion>
337             <exclusion>
338               <groupId>com.sun.jersey</groupId>
339               <artifactId>jersey-server</artifactId>
340             </exclusion>
341             <exclusion>
342               <groupId>com.sun.jersey</groupId>
343               <artifactId>jersey-core</artifactId>
344             </exclusion>
345             <exclusion>
346               <groupId>com.sun.jersey</groupId>
347               <artifactId>jersey-json</artifactId>
348             </exclusion>
349             <exclusion>
350               <groupId>javax.servlet</groupId>
351               <artifactId>servlet-api</artifactId>
352             </exclusion>
353             <exclusion>
354               <groupId>tomcat</groupId>
355               <artifactId>jasper-compiler</artifactId>
356             </exclusion>
357             <exclusion>
358               <groupId>tomcat</groupId>
359               <artifactId>jasper-runtime</artifactId>
360             </exclusion>
361             <exclusion>
362               <groupId>com.google.code.findbugs</groupId>
363               <artifactId>jsr305</artifactId>
364             </exclusion>
365           </exclusions>
366         </dependency>
367         <dependency>
368           <groupId>org.apache.hadoop</groupId>
369           <artifactId>hadoop-hdfs</artifactId>
370           <exclusions>
371             <exclusion>
372               <groupId>javax.servlet.jsp</groupId>
373               <artifactId>jsp-api</artifactId>
374             </exclusion>
375             <exclusion>
376               <groupId>javax.servlet</groupId>
377               <artifactId>servlet-api</artifactId>
378             </exclusion>
379             <exclusion>
380               <groupId>io.netty</groupId>
381               <artifactId>netty</artifactId>
382             </exclusion>
383             <exclusion>
384               <groupId>stax</groupId>
385               <artifactId>stax-api</artifactId>
386             </exclusion>
387             <exclusion>
388               <groupId>xerces</groupId>
389               <artifactId>xercesImpl</artifactId>
390             </exclusion>
391           </exclusions>
392         </dependency>
393         <dependency>
394           <groupId>org.apache.hadoop</groupId>
395           <artifactId>hadoop-mapreduce-client-core</artifactId>
396           <exclusions>
397             <exclusion>
398               <groupId>com.google.guava</groupId>
399               <artifactId>guava</artifactId>
400             </exclusion>
401           </exclusions>
402         </dependency>
403         <dependency>
404           <!--maven dependency:analyze says not needed but tests fail w/o-->
405           <groupId>org.apache.hadoop</groupId>
406           <artifactId>hadoop-minicluster</artifactId>
407           <scope>test</scope>
408           <exclusions>
409             <exclusion>
410               <groupId>org.apache.zookeeper</groupId>
411               <artifactId>zookeeper</artifactId>
412             </exclusion>
413           </exclusions>
414         </dependency>
415         <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
416         <dependency>
417           <groupId>io.netty</groupId>
418           <artifactId>netty</artifactId>
419           <version>${netty.hadoop.version}</version>
420           <scope>test</scope>
421         </dependency>
422       </dependencies>
424     </profile>
426     <!--
427       profile for building against Hadoop 3.0.x. Activate using:
428        mvn -Dhadoop.profile=3.0
429     -->
430     <profile>
431       <id>hadoop-3.0</id>
432       <activation>
433         <property>
434           <name>hadoop.profile</name>
435           <value>3.0</value>
436         </property>
437       </activation>
438       <dependencies>
439         <dependency>
440           <groupId>org.apache.hadoop</groupId>
441           <artifactId>hadoop-common</artifactId>
442         </dependency>
443         <dependency>
444           <groupId>org.apache.hadoop</groupId>
445           <artifactId>hadoop-hdfs</artifactId>
446         </dependency>
447         <dependency>
448           <!--maven dependency:analyze says not needed but tests fail w/o-->
449           <groupId>org.apache.hadoop</groupId>
450           <artifactId>hadoop-minicluster</artifactId>
451           <scope>test</scope>
452           <exclusions>
453             <exclusion>
454               <groupId>javax.ws.rs</groupId>
455               <artifactId>jsr311-api</artifactId>
456             </exclusion>
457           </exclusions>
458         </dependency>
459       </dependencies>
460     </profile>
461     <profile>
462       <id>eclipse-specific</id>
463       <activation>
464         <property>
465           <name>m2e.version</name>
466         </property>
467       </activation>
468       <build>
469         <pluginManagement>
470           <plugins>
471             <!--This plugin's configuration is used to store Eclipse m2e settings
472                  only. It has no influence on the Maven build itself.-->
473             <plugin>
474               <groupId>org.eclipse.m2e</groupId>
475               <artifactId>lifecycle-mapping</artifactId>
476               <configuration>
477                 <lifecycleMappingMetadata>
478                   <pluginExecutions>
479                   </pluginExecutions>
480                 </lifecycleMappingMetadata>
481               </configuration>
482             </plugin>
483           </plugins>
484         </pluginManagement>
485       </build>
486     </profile>
487   </profiles>
488 </project>