2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
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
13 * http://www.apache.org/licenses/LICENSE-2.0
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.
22 <modelVersion>4.0.0</modelVersion>
24 <artifactId>hbase</artifactId>
25 <groupId>org.apache.hbase</groupId>
26 <version>2.0.0-SNAPSHOT</version>
27 <relativePath>..</relativePath>
30 <artifactId>hbase-common</artifactId>
31 <name>Apache HBase - Common</name>
32 <description>Common functionality for HBase</description>
37 <directory>src/main/resources/</directory>
39 <include>hbase-default.xml</include>
45 <directory>src/test/resources/META-INF/</directory>
46 <targetPath>META-INF/</targetPath>
48 <include>NOTICE</include>
50 <filtering>true</filtering>
55 <groupId>org.apache.maven.plugins</groupId>
56 <artifactId>maven-site-plugin</artifactId>
62 <!--Make it so assembly:single does nothing in here-->
63 <artifactId>maven-assembly-plugin</artifactId>
65 <skipAssembly>true</skipAssembly>
69 <artifactId>maven-antrun-plugin</artifactId>
72 <phase>process-resources</phase>
75 <replace file="${project.build.outputDirectory}/hbase-default.xml"
76 token="@@@VERSION@@@" value="${project.version}" />
77 <mkdir dir="${project.build.directory}/nativelib"/>
78 <exec executable="tar" dir="${project.build.directory}/nativelib" failonerror="false">
80 <arg value="hadoop-snappy-nativelibs.tar"/>
88 <!-- Generate web app sources -->
91 <phase>generate-sources</phase>
94 <property name="generated.sources" location="${project.build.directory}/generated-sources"/>
96 <exec executable="bash">
97 <arg line="${basedir}/src/saveVersion.sh ${project.version} ${generated.sources}/java"/>
108 <groupId>org.codehaus.mojo</groupId>
109 <artifactId>build-helper-maven-plugin</artifactId>
111 <!-- Add the generated sources -->
113 <id>versionInfo-source</id>
114 <phase>generate-sources</phase>
116 <goal>add-source</goal>
120 <source>${project.build.directory}/generated-sources/java</source>
127 <artifactId>maven-surefire-plugin</artifactId>
131 <name>listener</name>
132 <value>org.apache.hadoop.hbase.ResourceCheckerJUnitListener</value>
136 <!-- Always skip the second part executions, since we only run
137 simple unit tests in this module -->
140 <id>secondPartTestsExecution</id>
151 <!-- Make a jar and put the sources in the jar -->
153 <groupId>org.apache.maven.plugins</groupId>
154 <artifactId>maven-source-plugin</artifactId>
156 <excludeResources>true</excludeResources>
158 <include>src/main/java</include>
159 <include>${project.build.outputDirectory}/META-INF</include>
166 <!--This plugin's configuration is used to store Eclipse m2e settings
167 only. It has no influence on the Maven build itself. -->
169 <groupId>org.eclipse.m2e</groupId>
170 <artifactId>lifecycle-mapping</artifactId>
171 <version>1.0.0</version>
173 <lifecycleMappingMetadata>
176 <pluginExecutionFilter>
177 <groupId>org.apache.maven.plugins</groupId>
178 <artifactId>maven-antrun-plugin</artifactId>
179 <versionRange>[${maven.antrun.version}]</versionRange>
183 </pluginExecutionFilter>
189 <pluginExecutionFilter>
190 <groupId>org.apache.maven.plugins</groupId>
191 <artifactId>maven-dependency-plugin</artifactId>
192 <versionRange>[2.8,)</versionRange>
194 <goal>build-classpath</goal>
196 </pluginExecutionFilter>
202 <pluginExecutionFilter>
203 <groupId>org.apache.maven.plugins</groupId>
204 <artifactId>maven-compiler-plugin</artifactId>
205 <versionRange>[3.2,)</versionRange>
209 </pluginExecutionFilter>
215 </lifecycleMappingMetadata>
224 <groupId>org.apache.hbase</groupId>
225 <artifactId>hbase-annotations</artifactId>
228 <groupId>jdk.tools</groupId>
229 <artifactId>jdk.tools</artifactId>
234 <groupId>org.apache.hbase</groupId>
235 <artifactId>hbase-protocol</artifactId>
238 <groupId>org.apache.hbase</groupId>
239 <artifactId>hbase-annotations</artifactId>
240 <type>test-jar</type>
243 <!-- General dependencies -->
245 <groupId>com.google.guava</groupId>
246 <artifactId>guava</artifactId>
249 <groupId>commons-logging</groupId>
250 <artifactId>commons-logging</artifactId>
253 <groupId>commons-codec</groupId>
254 <artifactId>commons-codec</artifactId>
255 <scope>compile</scope>
258 <groupId>commons-lang</groupId>
259 <artifactId>commons-lang</artifactId>
260 <scope>compile</scope>
263 <groupId>commons-collections</groupId>
264 <artifactId>commons-collections</artifactId>
265 <scope>compile</scope>
268 <groupId>commons-io</groupId>
269 <artifactId>commons-io</artifactId>
270 <scope>compile</scope>
273 <groupId>com.google.protobuf</groupId>
274 <artifactId>protobuf-java</artifactId>
277 <groupId>org.mortbay.jetty</groupId>
278 <artifactId>jetty-util</artifactId>
280 <!-- tracing Dependencies -->
282 <groupId>org.apache.htrace</groupId>
283 <artifactId>htrace-core</artifactId>
288 <!-- Skip the tests in this module -->
290 <id>skipCommonTests</id>
293 <name>skipCommonTests</name>
297 <surefire.skipFirstPart>true</surefire.skipFirstPart>
301 <!-- profile against Hadoop 1.1.x: This is the default. It has to have the same
302 activation property as the parent Hadoop 1.1.x profile to make sure it gets run at
308 <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
309 <!--h1--><name>hadoop.profile</name><value>1.1</value>
314 <groupId>org.apache.hadoop</groupId>
315 <artifactId>hadoop-core</artifactId>
320 <!-- profile against Hadoop 1.0.x:
321 mvn -Dhadoop.profile=1.0
327 <name>hadoop.profile</name>
333 <groupId>org.apache.hadoop</groupId>
334 <artifactId>hadoop-core</artifactId>
337 <groupId>commons-io</groupId>
338 <artifactId>commons-io</artifactId>
344 profile for building against Hadoop 2.0.0-alpha. Activate using:
345 mvn -Dhadoop.profile=2.0
351 <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
352 <!--h2--><name>!hadoop.profile</name>
357 <groupId>org.apache.hadoop</groupId>
358 <artifactId>hadoop-common</artifactId>
361 <groupId>org.apache.hadoop</groupId>
362 <artifactId>hadoop-mapreduce-client-core</artifactId>
368 <artifactId>maven-dependency-plugin</artifactId>
371 <id>create-mrapp-generated-classpath</id>
372 <phase>generate-test-resources</phase>
374 <goal>build-classpath</goal>
377 <!-- needed to run the unit test for DS to generate
378 the required classpath that is required in the env
379 of the launch container in the mini mr/yarn cluster
381 <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
391 profile for building against Hadoop 3.0.x. Activate using:
392 mvn -Dhadoop.profile=3.0
398 <name>hadoop.profile</name>
403 <hadoop.version>3.0-SNAPSHOT</hadoop.version>
407 <groupId>org.apache.hadoop</groupId>
408 <artifactId>hadoop-common</artifactId>
414 <artifactId>maven-dependency-plugin</artifactId>
417 <id>create-mrapp-generated-classpath</id>
418 <phase>generate-test-resources</phase>
420 <goal>build-classpath</goal>
423 <!-- needed to run the unit test for DS to generate
424 the required classpath that is required in the env
425 of the launch container in the mini mr/yarn cluster
427 <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>