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">
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
14 * http://www.apache.org/licenses/LICENSE-2.0
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.
23 <modelVersion>4.0.0</modelVersion>
25 <artifactId>hbase-build-configuration</artifactId>
26 <groupId>org.apache.hbase</groupId>
27 <version>2.4.1</version>
28 <relativePath>../hbase-build-configuration</relativePath>
30 <artifactId>hbase-mapreduce</artifactId>
31 <name>Apache HBase - MapReduce</name>
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
42 <!--Make it so assembly:single does nothing in here-->
43 <artifactId>maven-assembly-plugin</artifactId>
45 <skipAssembly>true</skipAssembly>
49 <groupId>org.apache.maven.plugins</groupId>
50 <artifactId>maven-jar-plugin</artifactId>
54 <!--Include the Driver class as the 'main'.
55 Executing the jar will then show a list of the basic MR jobs.
57 <mainClass>org/apache/hadoop/hbase/mapreduce/Driver</mainClass>
62 <!-- Make a jar and put the sources in the jar -->
64 <groupId>org.apache.maven.plugins</groupId>
65 <artifactId>maven-source-plugin</artifactId>
68 <groupId>net.revelc.code</groupId>
69 <artifactId>warbucks-maven-plugin</artifactId>
76 <groupId>org.apache.hbase.thirdparty</groupId>
77 <artifactId>hbase-shaded-miscellaneous</artifactId>
80 <groupId>org.apache.hbase.thirdparty</groupId>
81 <artifactId>hbase-shaded-netty</artifactId>
84 <groupId>org.apache.hbase.thirdparty</groupId>
85 <artifactId>hbase-shaded-protobuf</artifactId>
87 <!-- Intra-project dependencies -->
89 <groupId>org.apache.hbase</groupId>
90 <artifactId>hbase-annotations</artifactId>
95 <groupId>org.apache.hbase</groupId>
96 <artifactId>hbase-logging</artifactId>
101 <groupId>org.apache.hbase</groupId>
102 <artifactId>hbase-common</artifactId>
105 <groupId>org.apache.hbase</groupId>
106 <artifactId>hbase-zookeeper</artifactId>
109 <groupId>org.apache.hbase</groupId>
110 <artifactId>hbase-zookeeper</artifactId>
111 <type>test-jar</type>
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>
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>
127 <groupId>org.apache.hbase</groupId>
128 <artifactId>hbase-protocol-shaded</artifactId>
131 <groupId>org.apache.hbase</groupId>
132 <artifactId>hbase-metrics</artifactId>
135 <groupId>org.apache.hbase</groupId>
136 <artifactId>hbase-metrics-api</artifactId>
139 <groupId>org.apache.hbase</groupId>
140 <artifactId>hbase-asyncfs</artifactId>
143 <groupId>org.apache.hbase</groupId>
144 <artifactId>hbase-asyncfs</artifactId>
145 <type>test-jar</type>
149 <groupId>io.dropwizard.metrics</groupId>
150 <artifactId>metrics-core</artifactId>
152 <!--This is not used by hbase directly. Used by thrift,
153 dropwizard and zk.-->
155 <groupId>org.slf4j</groupId>
156 <artifactId>slf4j-api</artifactId>
159 <groupId>org.apache.htrace</groupId>
160 <artifactId>htrace-core4</artifactId>
163 <groupId>org.apache.hbase</groupId>
164 <artifactId>hbase-common</artifactId>
165 <type>test-jar</type>
169 <groupId>org.apache.hbase</groupId>
170 <artifactId>hbase-client</artifactId>
173 <groupId>org.apache.hbase</groupId>
174 <artifactId>hbase-hadoop-compat</artifactId>
177 <groupId>org.apache.hbase</groupId>
178 <artifactId>${compat.module}</artifactId>
181 <groupId>org.apache.hbase</groupId>
182 <artifactId>hbase-hadoop-compat</artifactId>
183 <type>test-jar</type>
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>
195 <groupId>org.apache.hbase</groupId>
196 <artifactId>hbase-server</artifactId>
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.
202 <groupId>commons-logging</groupId>
203 <artifactId>commons-logging</artifactId>
208 <groupId>org.apache.hbase</groupId>
209 <artifactId>hbase-server</artifactId>
210 <type>test-jar</type>
214 <groupId>org.apache.hbase</groupId>
215 <artifactId>hbase-replication</artifactId>
217 <!-- General dependencies -->
219 <groupId>com.github.stephenc.findbugs</groupId>
220 <artifactId>findbugs-annotations</artifactId>
221 <scope>compile</scope>
222 <optional>true</optional>
225 <groupId>org.apache.hadoop</groupId>
226 <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
227 <type>test-jar</type>
231 <groupId>org.codehaus.jackson</groupId>
232 <artifactId>jackson-mapper-asl</artifactId>
235 <groupId>org.codehaus.jackson</groupId>
236 <artifactId>jackson-core-asl</artifactId>
239 <groupId>javax.xml.bind</groupId>
240 <artifactId>jaxb-api</artifactId>
243 <groupId>javax.ws.rs</groupId>
244 <artifactId>jsr311-api</artifactId>
249 <groupId>org.apache.hadoop</groupId>
250 <artifactId>hadoop-hdfs</artifactId>
251 <type>test-jar</type>
255 <groupId>org.mockito</groupId>
256 <artifactId>mockito-core</artifactId>
260 <groupId>commons-io</groupId>
261 <artifactId>commons-io</artifactId>
264 <groupId>org.apache.commons</groupId>
265 <artifactId>commons-lang3</artifactId>
268 <groupId>org.apache.zookeeper</groupId>
269 <artifactId>zookeeper</artifactId>
272 <groupId>junit</groupId>
273 <artifactId>junit</artifactId>
277 <groupId>org.slf4j</groupId>
278 <artifactId>jcl-over-slf4j</artifactId>
282 <groupId>org.slf4j</groupId>
283 <artifactId>jul-to-slf4j</artifactId>
287 <groupId>org.slf4j</groupId>
288 <artifactId>slf4j-log4j12</artifactId>
292 <groupId>log4j</groupId>
293 <artifactId>log4j</artifactId>
298 <!-- Skip the tests in this module -->
300 <id>skipMapReduceTests</id>
303 <name>skipMapReduceTests</name>
307 <surefire.skipFirstPart>true</surefire.skipFirstPart>
308 <surefire.skipSecondPart>true</surefire.skipSecondPart>
311 <!-- profile against Hadoop 2.x: This is the default. -->
316 <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
317 <!--h2--><name>!hadoop.profile</name>
322 <groupId>org.apache.hadoop</groupId>
323 <artifactId>hadoop-common</artifactId>
326 <groupId>net.java.dev.jets3t</groupId>
327 <artifactId>jets3t</artifactId>
330 <groupId>javax.servlet.jsp</groupId>
331 <artifactId>jsp-api</artifactId>
334 <groupId>org.mortbay.jetty</groupId>
335 <artifactId>jetty</artifactId>
338 <groupId>com.sun.jersey</groupId>
339 <artifactId>jersey-server</artifactId>
342 <groupId>com.sun.jersey</groupId>
343 <artifactId>jersey-core</artifactId>
346 <groupId>com.sun.jersey</groupId>
347 <artifactId>jersey-json</artifactId>
350 <groupId>javax.servlet</groupId>
351 <artifactId>servlet-api</artifactId>
354 <groupId>tomcat</groupId>
355 <artifactId>jasper-compiler</artifactId>
358 <groupId>tomcat</groupId>
359 <artifactId>jasper-runtime</artifactId>
362 <groupId>com.google.code.findbugs</groupId>
363 <artifactId>jsr305</artifactId>
368 <groupId>org.apache.hadoop</groupId>
369 <artifactId>hadoop-hdfs</artifactId>
372 <groupId>javax.servlet.jsp</groupId>
373 <artifactId>jsp-api</artifactId>
376 <groupId>javax.servlet</groupId>
377 <artifactId>servlet-api</artifactId>
380 <groupId>io.netty</groupId>
381 <artifactId>netty</artifactId>
384 <groupId>stax</groupId>
385 <artifactId>stax-api</artifactId>
388 <groupId>xerces</groupId>
389 <artifactId>xercesImpl</artifactId>
394 <groupId>org.apache.hadoop</groupId>
395 <artifactId>hadoop-mapreduce-client-core</artifactId>
398 <groupId>com.google.guava</groupId>
399 <artifactId>guava</artifactId>
404 <!--maven dependency:analyze says not needed but tests fail w/o-->
405 <groupId>org.apache.hadoop</groupId>
406 <artifactId>hadoop-minicluster</artifactId>
410 <groupId>org.apache.zookeeper</groupId>
411 <artifactId>zookeeper</artifactId>
415 <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
417 <groupId>io.netty</groupId>
418 <artifactId>netty</artifactId>
419 <version>${netty.hadoop.version}</version>
427 profile for building against Hadoop 3.0.x. Activate using:
428 mvn -Dhadoop.profile=3.0
434 <name>hadoop.profile</name>
440 <groupId>org.apache.hadoop</groupId>
441 <artifactId>hadoop-common</artifactId>
444 <groupId>org.apache.hadoop</groupId>
445 <artifactId>hadoop-hdfs</artifactId>
448 <!--maven dependency:analyze says not needed but tests fail w/o-->
449 <groupId>org.apache.hadoop</groupId>
450 <artifactId>hadoop-minicluster</artifactId>
454 <groupId>javax.ws.rs</groupId>
455 <artifactId>jsr311-api</artifactId>
462 <id>eclipse-specific</id>
465 <name>m2e.version</name>
471 <!--This plugin's configuration is used to store Eclipse m2e settings
472 only. It has no influence on the Maven build itself.-->
474 <groupId>org.eclipse.m2e</groupId>
475 <artifactId>lifecycle-mapping</artifactId>
477 <lifecycleMappingMetadata>
480 </lifecycleMappingMetadata>