HBASE-19065 HRegion#bulkLoadHFiles() should wait for concurrent Region#flush() to...
[hbase.git] / hbase-mapreduce / pom.xml
blob4a63f41b919d5a9dd32d309b812a4943424e7dd9
1 <?xml version="1.0"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://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>3.0.0-SNAPSHOT</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         <groupId>org.apache.maven.plugins</groupId>
43         <artifactId>maven-site-plugin</artifactId>
44         <configuration>
45           <skip>true</skip>
46         </configuration>
47       </plugin>
48       <plugin>
49         <!--Make it so assembly:single does nothing in here-->
50         <artifactId>maven-assembly-plugin</artifactId>
51         <configuration>
52           <skipAssembly>true</skipAssembly>
53         </configuration>
54       </plugin>
55       <plugin>
56         <groupId>org.apache.maven.plugins</groupId>
57         <artifactId>maven-jar-plugin</artifactId>
58         <configuration>
59           <archive>
60             <manifest>
61               <!--Include the Driver class as the 'main'.
62                    Executing the jar will then show a list of the basic MR jobs.
63                    -->
64               <mainClass>org/apache/hadoop/hbase/mapreduce/Driver</mainClass>
65             </manifest>
66           </archive>
67         </configuration>
68       </plugin>
69       <!-- Testing plugins -->
70       <plugin>
71         <artifactId>maven-surefire-plugin</artifactId>
72         <configuration>
73           <properties>
74             <property>
75               <name>listener</name>
76               <value>org.apache.hadoop.hbase.ServerResourceCheckerJUnitListener</value>
77             </property>
78           </properties>
79           <systemPropertyVariables>
80             <org.apache.hadoop.hbase.shaded.io.netty.packagePrefix>org.apache.hadoop.hbase.shaded.</org.apache.hadoop.hbase.shaded.io.netty.packagePrefix>
81           </systemPropertyVariables>
82         </configuration>
83       </plugin>
84       <!-- Make a jar and put the sources in the jar -->
85       <plugin>
86         <groupId>org.apache.maven.plugins</groupId>
87         <artifactId>maven-source-plugin</artifactId>
88       </plugin>
89     </plugins>
90     <pluginManagement>
91       <plugins>
92         <!--This plugin's configuration is used to store Eclipse m2e settings
93              only. It has no influence on the Maven build itself.-->
94         <plugin>
95           <groupId>org.eclipse.m2e</groupId>
96           <artifactId>lifecycle-mapping</artifactId>
97           <version>1.0.0</version>
98           <configuration>
99             <lifecycleMappingMetadata>
100               <pluginExecutions>
101                 <pluginExecution>
102                   <pluginExecutionFilter>
103                     <groupId>org.apache.maven.plugins</groupId>
104                     <artifactId>maven-compiler-plugin</artifactId>
105                     <versionRange>[3.2,)</versionRange>
106                     <goals>
107                       <goal>compile</goal>
108                     </goals>
109                   </pluginExecutionFilter>
110                   <action>
111                     <ignore></ignore>
112                   </action>
113                 </pluginExecution>
114               </pluginExecutions>
115             </lifecycleMappingMetadata>
116           </configuration>
117         </plugin>
118       </plugins>
119     </pluginManagement>
120   </build>
122   <dependencies>
123     <dependency>
124       <groupId>org.apache.hbase.thirdparty</groupId>
125       <artifactId>hbase-shaded-miscellaneous</artifactId>
126     </dependency>
127     <dependency>
128       <groupId>org.apache.hbase.thirdparty</groupId>
129       <artifactId>hbase-shaded-netty</artifactId>
130     </dependency>
131     <dependency>
132       <groupId>org.apache.hbase.thirdparty</groupId>
133       <artifactId>hbase-shaded-protobuf</artifactId>
134     </dependency>
135     <!-- Intra-project dependencies -->
136     <dependency>
137       <groupId>org.apache.hbase</groupId>
138       <artifactId>hbase-annotations</artifactId>
139       <type>test-jar</type>
140       <scope>test</scope>
141     </dependency>
142     <dependency>
143       <groupId>org.apache.hbase</groupId>
144       <artifactId>hbase-common</artifactId>
145     </dependency>
146     <dependency>
147       <!--Needed by ExportSnapshot. It is reading
148            Snapshot protos. TODO: Move to internal types.-->
149       <groupId>org.apache.hbase</groupId>
150       <artifactId>hbase-protocol</artifactId>
151     </dependency>
152     <dependency>
153       <!--Needed by ExportSnapshot. It is reading
154            Snapshot protos. TODO: Move to internal types.-->
155       <groupId>com.google.protobuf</groupId>
156       <artifactId>protobuf-java</artifactId>
157       <version>${external.protobuf.version}</version>
158     </dependency>
159     <dependency>
160       <groupId>org.apache.hbase</groupId>
161       <artifactId>hbase-protocol-shaded</artifactId>
162     </dependency>
163     <dependency>
164       <groupId>org.apache.hbase</groupId>
165       <artifactId>hbase-metrics</artifactId>
166     </dependency>
167     <dependency>
168       <groupId>org.apache.hbase</groupId>
169       <artifactId>hbase-metrics-api</artifactId>
170     </dependency>
171     <dependency>
172       <groupId>io.dropwizard.metrics</groupId>
173       <artifactId>metrics-core</artifactId>
174     </dependency>
175     <!--This is not used by hbase directly.  Used by thrift,
176         dropwizard and zk.-->
177     <dependency>
178       <groupId>org.slf4j</groupId>
179       <artifactId>slf4j-api</artifactId>
180       <version>${slf4j.version}</version>
181     </dependency>
182     <dependency>
183       <groupId>org.apache.hbase</groupId>
184       <artifactId>hbase-prefix-tree</artifactId>
185     </dependency>
186     <dependency>
187       <groupId>org.apache.htrace</groupId>
188       <artifactId>htrace-core</artifactId>
189     </dependency>
190     <dependency>
191       <groupId>org.apache.hbase</groupId>
192       <artifactId>hbase-common</artifactId>
193       <type>test-jar</type>
194     </dependency>
195     <dependency>
196       <groupId>org.apache.hbase</groupId>
197       <artifactId>hbase-client</artifactId>
198     </dependency>
199     <dependency>
200       <groupId>org.apache.hbase</groupId>
201       <artifactId>hbase-hadoop-compat</artifactId>
202     </dependency>
203     <dependency>
204       <groupId>org.apache.hbase</groupId>
205       <artifactId>${compat.module}</artifactId>
206     </dependency>
207     <dependency>
208       <groupId>org.apache.hbase</groupId>
209       <artifactId>hbase-hadoop-compat</artifactId>
210       <type>test-jar</type>
211       <scope>test</scope>
212     </dependency>
213     <dependency>
214       <!--Do not removed. maven dependency:analyze says not needed but it
215            is; perhaps it comes in via reflection so maven can't figure it-->
216       <groupId>org.apache.hbase</groupId>
217       <artifactId>${compat.module}</artifactId>
218       <type>test-jar</type>
219       <scope>test</scope>
220     </dependency>
221     <dependency>
222       <groupId>org.apache.hbase</groupId>
223       <artifactId>hbase-server</artifactId>
224     </dependency>
225     <dependency>
226       <groupId>org.apache.hbase</groupId>
227       <artifactId>hbase-server</artifactId>
228       <type>test-jar</type>
229     </dependency>
230     <dependency>
231       <groupId>org.apache.hbase</groupId>
232       <artifactId>hbase-replication</artifactId>
233     </dependency>
234     <!-- General dependencies -->
235     <dependency>
236       <groupId>org.apache.hadoop</groupId>
237       <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
238       <type>test-jar</type>
239       <scope>test</scope>
240       <exclusions>
241         <exclusion>
242           <groupId>com.google.guava</groupId>
243           <artifactId>guava</artifactId>
244         </exclusion>
245       </exclusions>
246     </dependency>
247     <dependency>
248       <groupId>org.apache.hadoop</groupId>
249       <artifactId>hadoop-hdfs</artifactId>
250       <type>test-jar</type>
251       <scope>test</scope>
252       <exclusions>
253         <exclusion>
254           <groupId>com.google.guava</groupId>
255           <artifactId>guava</artifactId>
256         </exclusion>
257       </exclusions>
258     </dependency>
259     <dependency>
260       <groupId>log4j</groupId>
261       <artifactId>log4j</artifactId>
262     </dependency>
263     <dependency>
264       <groupId>org.mockito</groupId>
265       <artifactId>mockito-all</artifactId>
266       <scope>test</scope>
267     </dependency>
268     <dependency>
269       <groupId>commons-cli</groupId>
270       <artifactId>commons-cli</artifactId>
271     </dependency>
272     <dependency>
273       <groupId>commons-io</groupId>
274       <artifactId>commons-io</artifactId>
275     </dependency>
276     <dependency>
277       <groupId>org.apache.commons</groupId>
278       <artifactId>commons-lang3</artifactId>
279     </dependency>
280     <dependency>
281       <groupId>commons-logging</groupId>
282       <artifactId>commons-logging</artifactId>
283     </dependency>
284     <dependency>
285       <groupId>org.apache.zookeeper</groupId>
286       <artifactId>zookeeper</artifactId>
287     </dependency>
288     <dependency>
289       <groupId>junit</groupId>
290       <artifactId>junit</artifactId>
291       <scope>test</scope>
292     </dependency>
293     <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
294     <dependency>
295       <groupId>io.netty</groupId>
296       <artifactId>netty</artifactId>
297       <version>${netty.hadoop.version}</version>
298       <scope>test</scope>
299     </dependency>
300     <dependency>
301       <groupId>com.fasterxml.jackson.core</groupId>
302       <artifactId>jackson-databind</artifactId>
303     </dependency>
304   </dependencies>
305   <profiles>
306     <!-- Skip the tests in this module -->
307     <profile>
308       <id>skipMapReduceTests</id>
309       <activation>
310         <property>
311           <name>skipMapReduceTests</name>
312         </property>
313       </activation>
314       <properties>
315         <surefire.skipFirstPart>true</surefire.skipFirstPart>
316         <surefire.skipSecondPart>true</surefire.skipSecondPart>
317       </properties>
318     </profile>
319     <!-- profile against Hadoop 2.x: This is the default. -->
320     <profile>
321       <id>hadoop-2.0</id>
322       <activation>
323         <property>
324             <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
325             <!--h2--><name>!hadoop.profile</name>
326         </property>
327       </activation>
328       <dependencies>
329         <dependency>
330            <groupId>com.github.stephenc.findbugs</groupId>
331            <artifactId>findbugs-annotations</artifactId>
332            <optional>true</optional>
333         </dependency>
334         <dependency>
335           <groupId>org.apache.hadoop</groupId>
336           <artifactId>hadoop-common</artifactId>
337           <exclusions>
338             <exclusion>
339               <groupId>net.java.dev.jets3t</groupId>
340               <artifactId>jets3t</artifactId>
341             </exclusion>
342             <exclusion>
343               <groupId>javax.servlet.jsp</groupId>
344               <artifactId>jsp-api</artifactId>
345             </exclusion>
346             <exclusion>
347               <groupId>org.mortbay.jetty</groupId>
348               <artifactId>jetty</artifactId>
349             </exclusion>
350             <exclusion>
351               <groupId>com.sun.jersey</groupId>
352               <artifactId>jersey-server</artifactId>
353             </exclusion>
354             <exclusion>
355               <groupId>com.sun.jersey</groupId>
356               <artifactId>jersey-core</artifactId>
357             </exclusion>
358             <exclusion>
359               <groupId>com.sun.jersey</groupId>
360               <artifactId>jersey-json</artifactId>
361             </exclusion>
362             <exclusion>
363               <groupId>javax.servlet</groupId>
364               <artifactId>servlet-api</artifactId>
365             </exclusion>
366             <exclusion>
367               <groupId>tomcat</groupId>
368               <artifactId>jasper-compiler</artifactId>
369             </exclusion>
370             <exclusion>
371               <groupId>tomcat</groupId>
372               <artifactId>jasper-runtime</artifactId>
373             </exclusion>
374             <exclusion>
375               <groupId>com.google.code.findbugs</groupId>
376               <artifactId>jsr305</artifactId>
377             </exclusion>
378           </exclusions>
379         </dependency>
380         <dependency>
381           <groupId>org.apache.hadoop</groupId>
382           <artifactId>hadoop-hdfs</artifactId>
383           <exclusions>
384             <exclusion>
385               <groupId>javax.servlet.jsp</groupId>
386               <artifactId>jsp-api</artifactId>
387             </exclusion>
388             <exclusion>
389               <groupId>javax.servlet</groupId>
390               <artifactId>servlet-api</artifactId>
391             </exclusion>
392             <exclusion>
393               <groupId>io.netty</groupId>
394               <artifactId>netty</artifactId>
395             </exclusion>
396             <exclusion>
397               <groupId>stax</groupId>
398               <artifactId>stax-api</artifactId>
399             </exclusion>
400             <exclusion>
401               <groupId>xerces</groupId>
402               <artifactId>xercesImpl</artifactId>
403             </exclusion>
404           </exclusions>
405           <version>${hadoop-two.version}</version>
406         </dependency>
407         <dependency>
408           <groupId>org.apache.hadoop</groupId>
409           <artifactId>hadoop-mapreduce-client-core</artifactId>
410           <exclusions>
411             <exclusion>
412               <groupId>com.google.guava</groupId>
413               <artifactId>guava</artifactId>
414             </exclusion>
415           </exclusions>
416         </dependency>
417         <dependency>
418           <!--maven dependency:analyze says not needed but tests fail w/o-->
419           <groupId>org.apache.hadoop</groupId>
420           <artifactId>hadoop-minicluster</artifactId>
421           <scope>test</scope>
422         </dependency>
423       </dependencies>
425     </profile>
427     <!--
428       profile for building against Hadoop 3.0.x. Activate using:
429        mvn -Dhadoop.profile=3.0
430     -->
431     <profile>
432       <id>hadoop-3.0</id>
433       <activation>
434         <property>
435           <name>hadoop.profile</name>
436           <value>3.0</value>
437         </property>
438       </activation>
439       <properties>
440         <hadoop.version>${hadoop-three.version}</hadoop.version>
441       </properties>
442       <dependencies>
443         <dependency>
444           <groupId>org.apache.hadoop</groupId>
445           <artifactId>hadoop-common</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         </dependency>
452       </dependencies>
453     </profile>
454   </profiles>
455 </project>