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