HBASE-22155 Move 2.2.0 on to hbase-thirdparty-2.2.0
[hbase.git] / hbase-it / pom.xml
blobd24695f7e932ae2cde44b136f81bc2c12fe5ca33
1 <?xml version="1.0"?>
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">
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-it</artifactId>
31   <name>Apache HBase - Integration Tests</name>
32   <description>Integration and System tests for HBase</description>
34   <properties>
35     <!-- Test inclusion patterns used by failsafe configuration -->
36     <unittest.include>**/Test*.java</unittest.include>
37     <integrationtest.include>**/IntegrationTest*.java</integrationtest.include>
38     <!-- To Run Tests with a particular Xmx Value use -Dfailsafe.Xmx=XXXg -->
39     <failsafe.Xmx>4g</failsafe.Xmx>
40     <!-- To run a single integration test, use -Dit.test=IntegrationTestXXX -->
41   </properties>
43   <build>
44     <testResources>
45       <testResource>
46          <!-- We depend on hbase-server test resources -->
47         <directory>../hbase-server/src/test/resources</directory>
48         <excludes>
49           <exclude>META-INF/NOTICE</exclude>
50           <exclude>META-INF/LICENSE</exclude>
51         </excludes>
52       </testResource>
53     </testResources>
54     <pluginManagement>
55       <plugins>
56         <!-- Make a jar and put the sources in the jar -->
57         <plugin>
58           <groupId>org.apache.maven.plugins</groupId>
59           <artifactId>maven-source-plugin</artifactId>
60         </plugin>
61       <plugin>
62         <!--Make it so assembly:single does nothing in here-->
63         <artifactId>maven-assembly-plugin</artifactId>
64         <configuration>
65           <skipAssembly>true</skipAssembly>
66         </configuration>
67       </plugin>
68         <plugin>
69           <groupId>org.apache.maven.plugins</groupId>
70           <artifactId>maven-failsafe-plugin</artifactId>
71           <version>${surefire.version}</version>
72           <dependencies>
73             <dependency>
74               <groupId>org.apache.maven.surefire</groupId>
75               <artifactId>surefire-junit4</artifactId>
76               <version>${surefire.version}</version>
77             </dependency>
78           </dependencies>
79           <configuration>
80             <includes>
81               <include>${integrationtest.include}</include>
82             </includes>
83             <excludes>
84               <exclude>${unittest.include}</exclude>
85               <exclude>**/*$*</exclude>
86             </excludes>
87             <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile>
88             <environmentVariables>
89               <LD_LIBRARY_PATH>${env.LD_LIBRARY_PATH}:${project.build.directory}/nativelib</LD_LIBRARY_PATH>
90               <DYLD_LIBRARY_PATH>${env.DYLD_LIBRARY_PATH}:${project.build.directory}/nativelib</DYLD_LIBRARY_PATH>
91               <MALLOC_ARENA_MAX>4</MALLOC_ARENA_MAX>
92             </environmentVariables>
93             <failIfNoTests>false</failIfNoTests>
94             <testFailureIgnore>false</testFailureIgnore>
95           </configuration>
96           <executions>
97             <execution>
98               <id>integration-test</id>
99               <phase>integration-test</phase>
100               <goals>
101                 <goal>integration-test</goal>
102               </goals>
103             </execution>
104             <execution>
105               <id>verify</id>
106               <phase>verify</phase>
107               <goals>
108                 <goal>verify</goal>
109               </goals>
110             </execution>
111           </executions>
112         </plugin>
113         <!--This plugin's configuration is used to store Eclipse m2e settings
114              only. It has no influence on the Maven build itself.-->
115         <plugin>
116           <groupId>org.eclipse.m2e</groupId>
117           <artifactId>lifecycle-mapping</artifactId>
118           <configuration>
119             <lifecycleMappingMetadata>
120               <pluginExecutions>
121                 <pluginExecution>
122                   <pluginExecutionFilter>
123                     <groupId>org.apache.maven.plugins</groupId>
124                     <artifactId>maven-dependency-plugin</artifactId>
125                     <versionRange>[2.8,)</versionRange>
126                     <goals>
127                       <goal>build-classpath</goal>
128                     </goals>
129                   </pluginExecutionFilter>
130                   <action>
131                     <ignore></ignore>
132                   </action>
133                 </pluginExecution>
134               </pluginExecutions>
135             </lifecycleMappingMetadata>
136           </configuration>
137         </plugin>
138       </plugins>
139     </pluginManagement>
141     <plugins>
142       <!--  Run integration tests with mvn verify -->
143       <plugin>
144         <groupId>org.apache.maven.plugins</groupId>
145         <artifactId>maven-failsafe-plugin</artifactId>
146           <configuration>
147             <skip>false</skip>
148             <forkMode>always</forkMode>
149             <!-- TODO: failsafe does timeout, but verify does not fail the build because of the timeout.
150                  I believe it is a failsafe bug, we may consider using surefire -->
151             <forkedProcessTimeoutInSeconds>1800</forkedProcessTimeoutInSeconds>
152             <argLine>-enableassertions -Xmx${failsafe.Xmx}
153                 -Djava.security.egd=file:/dev/./urandom -XX:+CMSClassUnloadingEnabled
154                 -verbose:gc -XX:+PrintCommandLineFlags  -XX:+PrintFlagsFinal</argLine>
155           </configuration>
156       </plugin>
157       <plugin>
158         <groupId>net.revelc.code</groupId>
159         <artifactId>warbucks-maven-plugin</artifactId>
160       </plugin>
161     </plugins>
162   </build>
164   <dependencies>
165     <!--This one is upfront to get in front of
166          any dependency that pulls in jersey-core.
167          Jersey-core has implemented version 1
168          Interfaces of what is in this dependency
169          which does version 2.-->
170     <dependency>
171       <groupId>javax.ws.rs</groupId>
172       <artifactId>javax.ws.rs-api</artifactId>
173       <scope>test</scope>
174     </dependency>
175         <!-- Intra-project dependencies -->
176     <dependency>
177       <groupId>org.apache.hbase</groupId>
178       <artifactId>hbase-annotations</artifactId>
179       <type>test-jar</type>
180       <scope>test</scope>
181     </dependency>
182     <dependency>
183       <groupId>org.apache.hbase</groupId>
184       <artifactId>hbase-common</artifactId>
185       <type>jar</type>
186     </dependency>
187     <dependency>
188       <groupId>org.apache.hbase</groupId>
189       <artifactId>hbase-protocol</artifactId>
190     </dependency>
191     <dependency>
192       <groupId>org.apache.hbase</groupId>
193       <artifactId>hbase-protocol-shaded</artifactId>
194     </dependency>
195     <dependency>
196       <groupId>org.apache.hbase</groupId>
197       <artifactId>hbase-client</artifactId>
198     </dependency>
199     <dependency>
200       <groupId>org.apache.hbase</groupId>
201       <artifactId>hbase-mapreduce</artifactId>
202     </dependency>
203     <dependency>
204       <groupId>org.apache.hbase</groupId>
205       <artifactId>hbase-mapreduce</artifactId>
206       <type>test-jar</type>
207       <scope>test</scope>
208     </dependency>
209     <dependency>
210       <groupId>org.apache.hbase</groupId>
211       <artifactId>hbase-rsgroup</artifactId>
212     </dependency>
213     <dependency>
214       <groupId>org.apache.hbase</groupId>
215       <artifactId>hbase-rsgroup</artifactId>
216       <type>test-jar</type>
217       <scope>test</scope>
218     </dependency>
219     <dependency>
220       <groupId>org.apache.hbase</groupId>
221       <artifactId>hbase-server</artifactId>
222     </dependency>
223     <dependency>
224       <groupId>org.apache.hbase</groupId>
225       <artifactId>${compat.module}</artifactId>
226       <version>${project.version}</version>
227     </dependency>
228     <dependency>
229       <groupId>org.apache.hbase</groupId>
230       <artifactId>hbase-testing-util</artifactId>
231       <exclusions>
232         <!--This dependency pulls in hadoop-minicluster
233              which pulls in the below. It messes up
234              this build at assembly time. See HBASE-22029-->
235         <exclusion>
236          <groupId>com.sun.jersey</groupId>
237          <artifactId>jersey-core</artifactId>
238         </exclusion>
239       </exclusions>
240     </dependency>
241     <dependency>
242       <groupId>org.apache.hbase</groupId>
243       <artifactId>hbase-backup</artifactId>
244     </dependency>
245     <dependency>
246       <groupId>org.apache.hbase.thirdparty</groupId>
247       <artifactId>hbase-shaded-miscellaneous</artifactId>
248     </dependency>
249     <dependency>
250       <groupId>io.dropwizard.metrics</groupId>
251       <artifactId>metrics-core</artifactId>
252     </dependency>
253     <dependency>
254       <groupId>org.slf4j</groupId>
255       <artifactId>slf4j-api</artifactId>
256     </dependency>
257     <dependency>
258       <groupId>org.apache.commons</groupId>
259       <artifactId>commons-math3</artifactId>
260     </dependency>
261     <dependency>
262       <groupId>org.apache.commons</groupId>
263       <artifactId>commons-lang3</artifactId>
264     </dependency>
265     <dependency>
266       <groupId>org.apache.htrace</groupId>
267       <artifactId>htrace-core4</artifactId>
268     </dependency>
269     <dependency>
270       <groupId>org.glassfish.jersey.core</groupId>
271       <artifactId>jersey-client</artifactId>
272     </dependency>
273     <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
274     <dependency>
275       <groupId>io.netty</groupId>
276       <artifactId>netty</artifactId>
277       <version>${netty.hadoop.version}</version>
278       <scope>test</scope>
279     </dependency>
280     <dependency>
281       <!--For Hadoop-->
282       <groupId>log4j</groupId>
283       <artifactId>log4j</artifactId>
284     </dependency>
285     <dependency>
286       <groupId>junit</groupId>
287       <artifactId>junit</artifactId>
288       <scope>test</scope>
289     </dependency>
290     <dependency>
291       <groupId>org.mockito</groupId>
292       <artifactId>mockito-core</artifactId>
293       <scope>test</scope>
294     </dependency>
295   </dependencies>
297   <profiles>
298     <!-- Skip the tests in this module -->
299     <profile>
300       <id>skipIntegrationTests</id>
301       <activation>
302         <property>
303           <name>skipIntegrationTests</name>
304         </property>
305       </activation>
306       <properties>
307         <skipTests>true</skipTests>
308       </properties>
309     </profile>
310     <profile>
311       <id>build-with-jdk11</id>
312       <activation>
313         <jdk>[1.11,)</jdk>
314       </activation>
315       <dependencies>
316         <dependency>
317           <groupId>com.sun.xml.ws</groupId>
318           <artifactId>jaxws-ri</artifactId>
319           <type>pom</type>
320         </dependency>
321       </dependencies>
322     </profile>
323     <!-- profile for building against Hadoop 2.x.  This is the default -->
324     <profile>
325       <id>hadoop-2.0</id>
326       <activation>
327         <property>
328             <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
329             <!--h2--><name>!hadoop.profile</name>
330         </property>
331       </activation>
332       <dependencies>
333         <dependency>
334           <groupId>org.apache.hadoop</groupId>
335           <artifactId>hadoop-mapreduce-client-core</artifactId>
336           <exclusions>
337             <exclusion>
338               <groupId>com.google.guava</groupId>
339               <artifactId>guava</artifactId>
340             </exclusion>
341           </exclusions>
342         </dependency>
343         <dependency>
344           <groupId>org.apache.hadoop</groupId>
345           <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
346           <type>test-jar</type>
347           <scope>test</scope>
348           <exclusions>
349             <exclusion>
350               <groupId>com.google.guava</groupId>
351               <artifactId>guava</artifactId>
352             </exclusion>
353           </exclusions>
354         </dependency>
355         <dependency>
356           <groupId>org.apache.hadoop</groupId>
357           <artifactId>hadoop-common</artifactId>
358         </dependency>
359         <dependency>
360           <groupId>org.apache.hadoop</groupId>
361           <artifactId>hadoop-minikdc</artifactId>
362         </dependency>
363       </dependencies>
364       <build>
365         <plugins>
366           <plugin>
367             <artifactId>maven-dependency-plugin</artifactId>
368             <executions>
369               <execution>
370                 <id>create-mrapp-generated-classpath</id>
371                 <phase>generate-test-resources</phase>
372                 <goals>
373                   <goal>build-classpath</goal>
374                 </goals>
375                 <configuration>
376                   <!-- needed to run the unit test for DS to generate
377                   the required classpath that is required in the env
378                   of the launch container in the mini mr/yarn cluster
379                   -->
380                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
381                 </configuration>
382               </execution>
383             </executions>
384           </plugin>
385         </plugins>
386       </build>
387     </profile>
389     <!--
390       profile for building against Hadoop 3.0.x. Activate using:
391        mvn -Dhadoop.profile=3.0
392     -->
393     <profile>
394       <id>hadoop-3.0</id>
395       <activation>
396         <property>
397           <name>hadoop.profile</name>
398           <value>3.0</value>
399         </property>
400       </activation>
401       <properties>
402         <hadoop.version>3.0-SNAPSHOT</hadoop.version>
403       </properties>
404       <dependencies>
405             <dependency>
406           <groupId>org.apache.hadoop</groupId>
407           <artifactId>hadoop-common</artifactId>
408         </dependency>
409         <dependency>
410           <groupId>org.apache.hadoop</groupId>
411           <artifactId>hadoop-minicluster</artifactId>
412         </dependency>
413         <dependency>
414           <groupId>org.apache.hadoop</groupId>
415           <artifactId>hadoop-minikdc</artifactId>
416         </dependency>
417       </dependencies>
418       <build>
419         <plugins>
420           <plugin>
421             <artifactId>maven-dependency-plugin</artifactId>
422             <executions>
423               <execution>
424                 <id>create-mrapp-generated-classpath</id>
425                 <phase>generate-test-resources</phase>
426                 <goals>
427                   <goal>build-classpath</goal>
428                 </goals>
429                 <configuration>
430                   <!-- needed to run the unit test for DS to generate
431                   the required classpath that is required in the env
432                   of the launch container in the mini mr/yarn cluster
433                   -->
434                   <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
435                 </configuration>
436               </execution>
437             </executions>
438           </plugin>
439         </plugins>
440       </build>
441     </profile>
442   </profiles>
444   <reporting>
445     <plugins>
446     <plugin>
447       <groupId>org.apache.maven.plugins</groupId>
448       <artifactId>maven-surefire-report-plugin</artifactId>
449       <version>${surefire.version}</version>
450       <reportSets>
451         <reportSet>
452           <id>integration-tests</id>
453           <reports>
454             <report>report-only</report>
455           </reports>
456           <configuration>
457             <outputName>failsafe-report</outputName>
458             <reportsDirectories>
459               <reportsDirectory>${project.build.directory}/failsafe-reports</reportsDirectory>
460             </reportsDirectories>
461           </configuration>
462         </reportSet>
463       </reportSets>
464     </plugin>
465   </plugins>
466   </reporting>
468 </project>