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">
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>3.0.0-SNAPSHOT</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 <groupId>org.apache.maven.plugins</groupId>
43 <artifactId>maven-site-plugin</artifactId>
49 <!--Make it so assembly:single does nothing in here-->
50 <artifactId>maven-assembly-plugin</artifactId>
52 <skipAssembly>true</skipAssembly>
56 <groupId>org.apache.maven.plugins</groupId>
57 <artifactId>maven-jar-plugin</artifactId>
61 <!--Include the Driver class as the 'main'.
62 Executing the jar will then show a list of the basic MR jobs.
64 <mainClass>org/apache/hadoop/hbase/mapreduce/Driver</mainClass>
69 <!-- Testing plugins -->
71 <artifactId>maven-surefire-plugin</artifactId>
76 <value>org.apache.hadoop.hbase.ServerResourceCheckerJUnitListener</value>
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>
84 <!-- Make a jar and put the sources in the jar -->
86 <groupId>org.apache.maven.plugins</groupId>
87 <artifactId>maven-source-plugin</artifactId>
92 <!--This plugin's configuration is used to store Eclipse m2e settings
93 only. It has no influence on the Maven build itself.-->
95 <groupId>org.eclipse.m2e</groupId>
96 <artifactId>lifecycle-mapping</artifactId>
97 <version>1.0.0</version>
99 <lifecycleMappingMetadata>
102 <pluginExecutionFilter>
103 <groupId>org.apache.maven.plugins</groupId>
104 <artifactId>maven-compiler-plugin</artifactId>
105 <versionRange>[3.2,)</versionRange>
109 </pluginExecutionFilter>
115 </lifecycleMappingMetadata>
124 <groupId>org.apache.hbase.thirdparty</groupId>
125 <artifactId>hbase-shaded-miscellaneous</artifactId>
128 <groupId>org.apache.hbase.thirdparty</groupId>
129 <artifactId>hbase-shaded-netty</artifactId>
132 <groupId>org.apache.hbase.thirdparty</groupId>
133 <artifactId>hbase-shaded-protobuf</artifactId>
135 <!-- Intra-project dependencies -->
137 <groupId>org.apache.hbase</groupId>
138 <artifactId>hbase-annotations</artifactId>
139 <type>test-jar</type>
143 <groupId>org.apache.hbase</groupId>
144 <artifactId>hbase-common</artifactId>
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>
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>
160 <groupId>org.apache.hbase</groupId>
161 <artifactId>hbase-protocol-shaded</artifactId>
164 <groupId>org.apache.hbase</groupId>
165 <artifactId>hbase-metrics</artifactId>
168 <groupId>org.apache.hbase</groupId>
169 <artifactId>hbase-metrics-api</artifactId>
172 <groupId>io.dropwizard.metrics</groupId>
173 <artifactId>metrics-core</artifactId>
175 <!--This is not used by hbase directly. Used by thrift,
176 dropwizard and zk.-->
178 <groupId>org.slf4j</groupId>
179 <artifactId>slf4j-api</artifactId>
180 <version>${slf4j.version}</version>
183 <groupId>org.apache.hbase</groupId>
184 <artifactId>hbase-prefix-tree</artifactId>
187 <groupId>org.apache.htrace</groupId>
188 <artifactId>htrace-core</artifactId>
191 <groupId>org.apache.hbase</groupId>
192 <artifactId>hbase-common</artifactId>
193 <type>test-jar</type>
196 <groupId>org.apache.hbase</groupId>
197 <artifactId>hbase-client</artifactId>
200 <groupId>org.apache.hbase</groupId>
201 <artifactId>hbase-hadoop-compat</artifactId>
204 <groupId>org.apache.hbase</groupId>
205 <artifactId>${compat.module}</artifactId>
208 <groupId>org.apache.hbase</groupId>
209 <artifactId>hbase-hadoop-compat</artifactId>
210 <type>test-jar</type>
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>
222 <groupId>org.apache.hbase</groupId>
223 <artifactId>hbase-server</artifactId>
226 <groupId>org.apache.hbase</groupId>
227 <artifactId>hbase-server</artifactId>
228 <type>test-jar</type>
231 <groupId>org.apache.hbase</groupId>
232 <artifactId>hbase-replication</artifactId>
234 <!-- General dependencies -->
236 <groupId>org.apache.hadoop</groupId>
237 <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
238 <type>test-jar</type>
242 <groupId>com.google.guava</groupId>
243 <artifactId>guava</artifactId>
248 <groupId>org.apache.hadoop</groupId>
249 <artifactId>hadoop-hdfs</artifactId>
250 <type>test-jar</type>
254 <groupId>com.google.guava</groupId>
255 <artifactId>guava</artifactId>
260 <groupId>log4j</groupId>
261 <artifactId>log4j</artifactId>
264 <groupId>org.mockito</groupId>
265 <artifactId>mockito-all</artifactId>
269 <groupId>commons-cli</groupId>
270 <artifactId>commons-cli</artifactId>
273 <groupId>commons-io</groupId>
274 <artifactId>commons-io</artifactId>
277 <groupId>org.apache.commons</groupId>
278 <artifactId>commons-lang3</artifactId>
281 <groupId>commons-logging</groupId>
282 <artifactId>commons-logging</artifactId>
285 <groupId>org.apache.zookeeper</groupId>
286 <artifactId>zookeeper</artifactId>
289 <groupId>junit</groupId>
290 <artifactId>junit</artifactId>
293 <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
295 <groupId>io.netty</groupId>
296 <artifactId>netty</artifactId>
297 <version>${netty.hadoop.version}</version>
301 <groupId>com.fasterxml.jackson.core</groupId>
302 <artifactId>jackson-databind</artifactId>
306 <!-- Skip the tests in this module -->
308 <id>skipMapReduceTests</id>
311 <name>skipMapReduceTests</name>
315 <surefire.skipFirstPart>true</surefire.skipFirstPart>
316 <surefire.skipSecondPart>true</surefire.skipSecondPart>
319 <!-- profile against Hadoop 2.x: This is the default. -->
324 <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
325 <!--h2--><name>!hadoop.profile</name>
330 <groupId>com.github.stephenc.findbugs</groupId>
331 <artifactId>findbugs-annotations</artifactId>
332 <optional>true</optional>
335 <groupId>org.apache.hadoop</groupId>
336 <artifactId>hadoop-common</artifactId>
339 <groupId>net.java.dev.jets3t</groupId>
340 <artifactId>jets3t</artifactId>
343 <groupId>javax.servlet.jsp</groupId>
344 <artifactId>jsp-api</artifactId>
347 <groupId>org.mortbay.jetty</groupId>
348 <artifactId>jetty</artifactId>
351 <groupId>com.sun.jersey</groupId>
352 <artifactId>jersey-server</artifactId>
355 <groupId>com.sun.jersey</groupId>
356 <artifactId>jersey-core</artifactId>
359 <groupId>com.sun.jersey</groupId>
360 <artifactId>jersey-json</artifactId>
363 <groupId>javax.servlet</groupId>
364 <artifactId>servlet-api</artifactId>
367 <groupId>tomcat</groupId>
368 <artifactId>jasper-compiler</artifactId>
371 <groupId>tomcat</groupId>
372 <artifactId>jasper-runtime</artifactId>
375 <groupId>com.google.code.findbugs</groupId>
376 <artifactId>jsr305</artifactId>
381 <groupId>org.apache.hadoop</groupId>
382 <artifactId>hadoop-hdfs</artifactId>
385 <groupId>javax.servlet.jsp</groupId>
386 <artifactId>jsp-api</artifactId>
389 <groupId>javax.servlet</groupId>
390 <artifactId>servlet-api</artifactId>
393 <groupId>io.netty</groupId>
394 <artifactId>netty</artifactId>
397 <groupId>stax</groupId>
398 <artifactId>stax-api</artifactId>
401 <groupId>xerces</groupId>
402 <artifactId>xercesImpl</artifactId>
405 <version>${hadoop-two.version}</version>
408 <groupId>org.apache.hadoop</groupId>
409 <artifactId>hadoop-mapreduce-client-core</artifactId>
412 <groupId>com.google.guava</groupId>
413 <artifactId>guava</artifactId>
418 <!--maven dependency:analyze says not needed but tests fail w/o-->
419 <groupId>org.apache.hadoop</groupId>
420 <artifactId>hadoop-minicluster</artifactId>
428 profile for building against Hadoop 3.0.x. Activate using:
429 mvn -Dhadoop.profile=3.0
435 <name>hadoop.profile</name>
440 <hadoop.version>${hadoop-three.version}</hadoop.version>
444 <groupId>org.apache.hadoop</groupId>
445 <artifactId>hadoop-common</artifactId>
448 <!--maven dependency:analyze says not needed but tests fail w/o-->
449 <groupId>org.apache.hadoop</groupId>
450 <artifactId>hadoop-minicluster</artifactId>