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