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-build-configuration</artifactId>
25 <groupId>org.apache.hbase</groupId>
26 <version>3.0.0-SNAPSHOT</version>
27 <relativePath>../hbase-build-configuration</relativePath>
30 <artifactId>hbase-common</artifactId>
31 <name>Apache HBase - Common</name>
32 <description>Common functionality for HBase</description>
38 <directory>src/main/resources/</directory>
40 <include>hbase-default.xml</include>
46 <directory>src/test/resources/META-INF/</directory>
47 <targetPath>META-INF/</targetPath>
49 <include>NOTICE</include>
51 <filtering>true</filtering>
56 <groupId>org.apache.maven.plugins</groupId>
57 <artifactId>maven-remote-resources-plugin</artifactId>
60 <groupId>org.apache.maven.plugins</groupId>
61 <artifactId>maven-site-plugin</artifactId>
67 <!--Make it so assembly:single does nothing in here-->
68 <artifactId>maven-assembly-plugin</artifactId>
70 <skipAssembly>true</skipAssembly>
74 <artifactId>maven-antrun-plugin</artifactId>
77 <phase>process-resources</phase>
80 <replace file="${project.build.outputDirectory}/hbase-default.xml"
81 token="@@@VERSION@@@" value="${project.version}" />
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>
137 <!-- Make a jar and put the sources in the jar -->
139 <groupId>org.apache.maven.plugins</groupId>
140 <artifactId>maven-source-plugin</artifactId>
143 <exclude>hbase-default.xml</exclude>
150 <!--This plugin's configuration is used to store Eclipse m2e settings
151 only. It has no influence on the Maven build itself. -->
153 <groupId>org.eclipse.m2e</groupId>
154 <artifactId>lifecycle-mapping</artifactId>
156 <lifecycleMappingMetadata>
159 <pluginExecutionFilter>
160 <groupId>org.apache.maven.plugins</groupId>
161 <artifactId>maven-antrun-plugin</artifactId>
162 <versionRange>[${maven.antrun.version}]</versionRange>
166 </pluginExecutionFilter>
172 <pluginExecutionFilter>
173 <groupId>org.apache.maven.plugins</groupId>
174 <artifactId>maven-dependency-plugin</artifactId>
175 <versionRange>[2.8,)</versionRange>
177 <goal>build-classpath</goal>
179 </pluginExecutionFilter>
185 <pluginExecutionFilter>
186 <groupId>org.apache.maven.plugins</groupId>
187 <artifactId>maven-compiler-plugin</artifactId>
188 <versionRange>[3.2,)</versionRange>
192 </pluginExecutionFilter>
198 </lifecycleMappingMetadata>
207 <groupId>org.apache.hbase</groupId>
208 <artifactId>hbase-annotations</artifactId>
209 <type>test-jar</type>
213 <groupId>org.apache.hbase.thirdparty</groupId>
214 <artifactId>hbase-shaded-miscellaneous</artifactId>
217 <groupId>commons-logging</groupId>
218 <artifactId>commons-logging</artifactId>
221 <groupId>commons-codec</groupId>
222 <artifactId>commons-codec</artifactId>
223 <scope>compile</scope>
226 <groupId>org.apache.commons</groupId>
227 <artifactId>commons-lang3</artifactId>
228 <scope>compile</scope>
231 <groupId>org.apache.commons</groupId>
232 <artifactId>commons-collections4</artifactId>
233 <scope>compile</scope>
236 <groupId>commons-io</groupId>
237 <artifactId>commons-io</artifactId>
238 <scope>compile</scope>
241 <groupId>com.google.protobuf</groupId>
242 <artifactId>protobuf-java</artifactId>
244 <!-- tracing Dependencies -->
246 <groupId>org.apache.htrace</groupId>
247 <artifactId>htrace-core</artifactId>
250 <groupId>org.apache.commons</groupId>
251 <artifactId>commons-crypto</artifactId>
254 <groupId>commons-cli</groupId>
255 <artifactId>commons-cli</artifactId>
258 <groupId>junit</groupId>
259 <artifactId>junit</artifactId>
263 <groupId>com.github.stephenc.findbugs</groupId>
264 <artifactId>findbugs-annotations</artifactId>
267 <groupId>org.mockito</groupId>
268 <artifactId>mockito-all</artifactId>
273 <groupId>log4j</groupId>
274 <artifactId>log4j</artifactId>
279 <!-- Needs to make the profile in apache parent pom -->
281 <id>apache-release</id>
285 <groupId>org.apache.maven.plugins</groupId>
286 <artifactId>maven-resources-plugin</artifactId>
289 <id>license-javadocs</id>
290 <phase>prepare-package</phase>
292 <goal>copy-resources</goal>
295 <outputDirectory>${project.build.directory}/apidocs</outputDirectory>
298 <directory>src/main/javadoc/META-INF/</directory>
299 <targetPath>META-INF/</targetPath>
301 <include>NOTICE</include>
303 <filtering>true</filtering>
313 <!-- Skip the tests in this module -->
315 <id>skipCommonTests</id>
318 <name>skipCommonTests</name>
322 <surefire.skipFirstPart>true</surefire.skipFirstPart>
323 <surefire.skipSecondPart>true</surefire.skipSecondPart>
328 <!-- profile for building against Hadoop 2.x. This is the default -->
333 <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
334 <!--h2--><name>!hadoop.profile</name>
339 <groupId>org.apache.hadoop</groupId>
340 <artifactId>hadoop-common</artifactId>
341 <!--FYI This pulls in hadoop's guava. Its needed for Configuration
348 <artifactId>maven-dependency-plugin</artifactId>
351 <id>create-mrapp-generated-classpath</id>
352 <phase>generate-test-resources</phase>
354 <goal>build-classpath</goal>
357 <!-- needed to run the unit test for DS to generate
358 the required classpath that is required in the env
359 of the launch container in the mini mr/yarn cluster
361 <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
371 profile for building against Hadoop 3.0.x. Activate using:
372 mvn -Dhadoop.profile=3.0
378 <name>hadoop.profile</name>
383 <hadoop.version>3.0-SNAPSHOT</hadoop.version>
387 <groupId>org.apache.hadoop</groupId>
388 <artifactId>hadoop-common</artifactId>
394 <artifactId>maven-dependency-plugin</artifactId>
397 <id>create-mrapp-generated-classpath</id>
398 <phase>generate-test-resources</phase>
400 <goal>build-classpath</goal>
403 <!-- needed to run the unit test for DS to generate
404 the required classpath that is required in the env
405 of the launch container in the mini mr/yarn cluster
407 <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>