Preparing hbase release 2.4.0RC0; tagging and updates to CHANGES.md and RELEASENOTES.md
[hbase.git] / hbase-common / pom.xml
blob725350236dfd535daa337f99292bbec827b20371
1 <?xml version="1.0"?>
2 <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
3 <!--
4 /**
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
12  *
13  *     http://www.apache.org/licenses/LICENSE-2.0
14  *
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.
20  */
21 -->
22   <modelVersion>4.0.0</modelVersion>
23   <parent>
24     <artifactId>hbase-build-configuration</artifactId>
25     <groupId>org.apache.hbase</groupId>
26     <version>2.4.0</version>
27     <relativePath>../hbase-build-configuration</relativePath>
28   </parent>
30   <artifactId>hbase-common</artifactId>
31   <name>Apache HBase - Common</name>
32   <description>Common functionality for HBase</description>
34   <build>
35     <resources>
36       <resource>
37           <directory>src/main/resources/</directory>
38           <includes>
39               <include>hbase-default.xml</include>
40           </includes>
41       </resource>
42     </resources>
43     <testResources>
44       <testResource>
45         <directory>src/test/resources/META-INF/</directory>
46         <targetPath>META-INF/</targetPath>
47         <includes>
48           <include>NOTICE</include>
49         </includes>
50         <filtering>true</filtering>
51       </testResource>
52       <testResource>
53         <directory>src/test/resources</directory>
54         <includes>
55           <include>**/**</include>
56         </includes>
57       </testResource>
58     </testResources>
59     <plugins>
60       <plugin>
61         <groupId>org.apache.maven.plugins</groupId>
62         <artifactId>maven-remote-resources-plugin</artifactId>
63       </plugin>
64       <plugin>
65         <!--Make it so assembly:single does nothing in here-->
66         <artifactId>maven-assembly-plugin</artifactId>
67         <configuration>
68           <skipAssembly>true</skipAssembly>
69         </configuration>
70       </plugin>
71         <plugin>
72             <artifactId>maven-antrun-plugin</artifactId>
73             <executions>
74           <execution>
75             <phase>process-resources</phase>
76             <configuration>
77               <target>
78                 <replace file="${project.build.outputDirectory}/hbase-default.xml"
79                   token="@@@VERSION@@@" value="${project.version}" />
80               </target>
81             </configuration>
82             <goals>
83               <goal>run</goal>
84             </goals>
85           </execution>
86                 <!-- Generate web app sources -->
87                 <execution>
88                     <id>generate-Version-information</id>
89                     <phase>generate-sources</phase>
90                     <configuration>
91                         <target>
92                             <property name="generated.sources" location="${project.build.directory}/generated-sources"/>
94                             <exec executable="bash" failonerror="true">
95                                 <arg line="${basedir}/src/saveVersion.sh ${project.version} ${generated.sources}/java"/>
96                             </exec>
97                         </target>
98                     </configuration>
99                     <goals>
100                         <goal>run</goal>
101                     </goals>
102                 </execution>
103             </executions>
104         </plugin>
105         <plugin>
106             <groupId>org.codehaus.mojo</groupId>
107             <artifactId>build-helper-maven-plugin</artifactId>
108             <executions>
109                 <!-- Add the generated sources -->
110                 <execution>
111                     <id>versionInfo-source</id>
112                     <phase>generate-sources</phase>
113                     <goals>
114                         <goal>add-source</goal>
115                     </goals>
116                     <configuration>
117                         <sources>
118                             <source>${project.build.directory}/generated-sources/java</source>
119                         </sources>
120                     </configuration>
121                 </execution>
122             </executions>
123         </plugin>
124         <!-- Make a jar and put the sources in the jar -->
125         <plugin>
126           <groupId>org.apache.maven.plugins</groupId>
127           <artifactId>maven-source-plugin</artifactId>
128           <configuration>
129             <excludes>
130               <exclude>hbase-default.xml</exclude>
131             </excludes>
132           </configuration>
133         </plugin>
134       <plugin>
135         <groupId>net.revelc.code</groupId>
136         <artifactId>warbucks-maven-plugin</artifactId>
137       </plugin>
138     </plugins>
139   </build>
141   <dependencies>
142     <dependency>
143       <groupId>org.apache.hbase</groupId>
144       <artifactId>hbase-annotations</artifactId>
145       <type>test-jar</type>
146       <scope>test</scope>
147     </dependency>
148     <dependency>
149       <groupId>org.apache.hbase</groupId>
150       <artifactId>hbase-logging</artifactId>
151     </dependency>
152     <dependency>
153       <groupId>org.apache.hbase</groupId>
154       <artifactId>hbase-logging</artifactId>
155       <type>test-jar</type>
156       <scope>test</scope>
157     </dependency>
158     <dependency>
159       <groupId>org.apache.hbase.thirdparty</groupId>
160       <artifactId>hbase-shaded-miscellaneous</artifactId>
161     </dependency>
162     <dependency>
163       <groupId>org.apache.hbase.thirdparty</groupId>
164       <artifactId>hbase-shaded-gson</artifactId>
165     </dependency>
166     <dependency>
167       <groupId>org.apache.hbase.thirdparty</groupId>
168       <artifactId>hbase-shaded-netty</artifactId>
169     </dependency>
170     <dependency>
171       <groupId>org.slf4j</groupId>
172       <artifactId>slf4j-api</artifactId>
173     </dependency>
174     <dependency>
175       <groupId>commons-codec</groupId>
176       <artifactId>commons-codec</artifactId>
177       <scope>compile</scope>
178     </dependency>
179     <dependency>
180       <groupId>org.apache.commons</groupId>
181       <artifactId>commons-lang3</artifactId>
182       <scope>compile</scope>
183     </dependency>
184     <dependency>
185       <groupId>commons-io</groupId>
186       <artifactId>commons-io</artifactId>
187       <scope>compile</scope>
188     </dependency>
189     <dependency>
190       <groupId>com.google.protobuf</groupId>
191       <artifactId>protobuf-java</artifactId>
192     </dependency>
193     <!-- tracing Dependencies -->
194     <dependency>
195       <groupId>org.apache.htrace</groupId>
196       <artifactId>htrace-core4</artifactId>
197     </dependency>
198     <dependency>
199       <groupId>org.apache.commons</groupId>
200       <artifactId>commons-crypto</artifactId>
201     </dependency>
202     <dependency>
203       <groupId>junit</groupId>
204       <artifactId>junit</artifactId>
205       <scope>test</scope>
206     </dependency>
207     <dependency>
208       <groupId>com.github.stephenc.findbugs</groupId>
209       <artifactId>findbugs-annotations</artifactId>
210       <scope>compile</scope>
211       <optional>true</optional>
212     </dependency>
213     <dependency>
214       <groupId>org.mockito</groupId>
215       <artifactId>mockito-core</artifactId>
216       <scope>test</scope>
217     </dependency>
218     <dependency>
219       <groupId>org.slf4j</groupId>
220       <artifactId>jcl-over-slf4j</artifactId>
221       <scope>test</scope>
222     </dependency>
223     <dependency>
224       <groupId>org.slf4j</groupId>
225       <artifactId>jul-to-slf4j</artifactId>
226       <scope>test</scope>
227     </dependency>
228     <dependency>
229       <groupId>org.slf4j</groupId>
230       <artifactId>slf4j-log4j12</artifactId>
231       <scope>test</scope>
232     </dependency>
233     <dependency>
234       <groupId>log4j</groupId>
235       <artifactId>log4j</artifactId>
236       <scope>test</scope>
237     </dependency>
238     <dependency>
239       <groupId>org.apache.kerby</groupId>
240       <artifactId>kerb-simplekdc</artifactId>
241       <scope>test</scope>
242     </dependency>
243   </dependencies>
245   <profiles>
246     <!-- Needs to make the profile in apache parent pom -->
247     <profile>
248       <id>apache-release</id>
249       <build>
250         <plugins>
251           <plugin>
252             <groupId>org.apache.maven.plugins</groupId>
253             <artifactId>maven-resources-plugin</artifactId>
254             <executions>
255               <execution>
256                 <id>license-javadocs</id>
257                 <phase>prepare-package</phase>
258                 <goals>
259                   <goal>copy-resources</goal>
260                 </goals>
261                 <configuration>
262                   <outputDirectory>${project.build.directory}/apidocs</outputDirectory>
263                   <resources>
264                     <resource>
265                       <directory>src/main/javadoc/META-INF/</directory>
266                       <targetPath>META-INF/</targetPath>
267                       <includes>
268                         <include>NOTICE</include>
269                       </includes>
270                       <filtering>true</filtering>
271                     </resource>
272                   </resources>
273                 </configuration>
274               </execution>
275             </executions>
276           </plugin>
277         </plugins>
278       </build>
279     </profile>
280     <!-- Skip the tests in this module -->
281     <profile>
282       <id>skipCommonTests</id>
283       <activation>
284         <property>
285           <name>skipCommonTests</name>
286         </property>
287       </activation>
288       <properties>
289         <surefire.skipFirstPart>true</surefire.skipFirstPart>
290         <surefire.skipSecondPart>true</surefire.skipSecondPart>
291       </properties>
292     </profile>
295     <!-- profile for building against Hadoop 2.x.  This is the default -->
296     <profile>
297       <id>hadoop-2.0</id>
298       <activation>
299         <property>
300             <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
301             <!--h2--><name>!hadoop.profile</name>
302         </property>
303       </activation>
304       <dependencies>
305         <dependency>
306           <groupId>org.apache.hadoop</groupId>
307           <artifactId>hadoop-common</artifactId>
308           <!--FYI This pulls in hadoop's guava. Its needed for Configuration
309                at least-->
310         </dependency>
311       </dependencies>
312       <build>
313         <plugins>
314           <plugin>
315             <artifactId>maven-dependency-plugin</artifactId>
316             <executions>
317               <execution>
318                 <id>create-mrapp-generated-classpath</id>
319                 <phase>generate-test-resources</phase>
320                 <goals>
321                   <goal>build-classpath</goal>
322                 </goals>
323                 <configuration>
324                   <!-- needed to run the unit test for DS to generate
325                   the required classpath that is required in the env
326                   of the launch container in the mini mr/yarn cluster
327                   -->
328                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
329                 </configuration>
330               </execution>
331             </executions>
332           </plugin>
333         </plugins>
334       </build>
335     </profile>
337     <!--
338       profile for building against Hadoop 3.0.x. Activate using:
339        mvn -Dhadoop.profile=3.0
340     -->
341     <profile>
342       <id>hadoop-3.0</id>
343       <activation>
344         <property>
345           <name>hadoop.profile</name>
346           <value>3.0</value>
347         </property>
348       </activation>
349       <dependencies>
350         <dependency>
351           <groupId>org.apache.hadoop</groupId>
352           <artifactId>hadoop-common</artifactId>
353         </dependency>
354       </dependencies>
355       <build>
356         <plugins>
357           <plugin>
358             <artifactId>maven-dependency-plugin</artifactId>
359             <executions>
360               <execution>
361                 <id>create-mrapp-generated-classpath</id>
362                 <phase>generate-test-resources</phase>
363                 <goals>
364                   <goal>build-classpath</goal>
365                 </goals>
366                 <configuration>
367                   <!-- needed to run the unit test for DS to generate
368                   the required classpath that is required in the env
369                   of the launch container in the mini mr/yarn cluster
370                   -->
371                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
372                 </configuration>
373               </execution>
374             </executions>
375           </plugin>
376         </plugins>
377       </build>
378     </profile>
379     <profile>
380       <id>eclipse-specific</id>
381       <activation>
382         <property>
383           <name>m2e.version</name>
384         </property>
385       </activation>
386       <build>
387         <pluginManagement>
388           <plugins>
389             <!--This plugin's configuration is used to store Eclipse m2e settings
390                  only. It has no influence on the Maven build itself. -->
391             <plugin>
392               <groupId>org.eclipse.m2e</groupId>
393               <artifactId>lifecycle-mapping</artifactId>
394               <configuration>
395                 <lifecycleMappingMetadata>
396                   <pluginExecutions>
397                     <pluginExecution>
398                       <pluginExecutionFilter>
399                         <groupId>org.apache.maven.plugins</groupId>
400                         <artifactId>maven-antrun-plugin</artifactId>
401                         <versionRange>[${maven.antrun.version}]</versionRange>
402                         <goals>
403                           <goal>run</goal>
404                         </goals>
405                       </pluginExecutionFilter>
406                       <action>
407                         <execute/>
408                       </action>
409                     </pluginExecution>
410                     <pluginExecution>
411                       <pluginExecutionFilter>
412                         <groupId>org.apache.maven.plugins</groupId>
413                         <artifactId>maven-dependency-plugin</artifactId>
414                         <versionRange>[2.8,)</versionRange>
415                         <goals>
416                           <goal>build-classpath</goal>
417                         </goals>
418                       </pluginExecutionFilter>
419                       <action>
420                         <ignore></ignore>
421                       </action>
422                     </pluginExecution>
423                   </pluginExecutions>
424                 </lifecycleMappingMetadata>
425               </configuration>
426             </plugin>
427           </plugins>
428         </pluginManagement>
429       </build>
430     </profile>
431   </profiles>
432 </project>