HBASE-19735 Create a client-tarball assembly
[hbase.git] / hbase-spark-it / pom.xml
blobbfd29069b74c01900587c7911ffac6252d013e63
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-spark-it</artifactId>
31   <name>Apache HBase - Spark Integration Tests</name>
32   <description>Integration and System tests for HBase</description>
35   <properties>
36     <spark.version>2.1.1</spark.version>
37     <!-- The following version is in sync with Spark's choice
38          Please take caution when this version is modified -->
39     <scala.version>2.11.8</scala.version>
40     <scala.binary.version>2.11</scala.binary.version>
41     <!-- Test inclusion patterns used by failsafe configuration -->
42     <unittest.include>**/Test*.java</unittest.include>
43     <integrationtest.include>**/IntegrationTest*.java</integrationtest.include>
44     <!-- To Run Tests with a particular Xmx Value use -Dfailsafe.Xmx=XXXg -->
45     <failsafe.Xmx>4g</failsafe.Xmx>
46     <!-- To run a single integration test, use -Dit.test=IntegrationTestXXX -->
47   </properties>
48   <build>
49     <pluginManagement>
50       <plugins>
51         <!-- Make a jar and put the sources in the jar -->
52         <plugin>
53           <groupId>org.apache.maven.plugins</groupId>
54           <artifactId>maven-source-plugin</artifactId>
55         </plugin>
56         <plugin>
57           <!--Make it so assembly:single does nothing in here-->
58           <artifactId>maven-assembly-plugin</artifactId>
59           <configuration>
60             <skipAssembly>true</skipAssembly>
61           </configuration>
62         </plugin>
63         <plugin>
64           <groupId>org.apache.maven.plugins</groupId>
65           <artifactId>maven-failsafe-plugin</artifactId>
66           <version>${surefire.version}</version>
67           <dependencies>
68             <dependency>
69               <groupId>org.apache.maven.surefire</groupId>
70               <artifactId>surefire-junit4</artifactId>
71               <version>${surefire.version}</version>
72             </dependency>
73           </dependencies>
74           <configuration>
75             <includes>
76               <include>${integrationtest.include}</include>
77             </includes>
78             <excludes>
79               <exclude>${unittest.include}</exclude>
80               <exclude>**/*$*</exclude>
81             </excludes>
82             <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile>
83             <failIfNoTests>false</failIfNoTests>
84             <testFailureIgnore>false</testFailureIgnore>
85           </configuration>
86           <executions>
87             <execution>
88               <id>integration-test</id>
89               <phase>integration-test</phase>
90               <goals>
91                 <goal>integration-test</goal>
92               </goals>
93             </execution>
94             <execution>
95               <id>verify</id>
96               <phase>verify</phase>
97               <goals>
98                 <goal>verify</goal>
99               </goals>
100             </execution>
101           </executions>
102         </plugin>
103       </plugins>
104     </pluginManagement>
106     <plugins>
107       <!--  Run integration tests with mvn verify -->
108       <plugin>
109         <groupId>org.apache.maven.plugins</groupId>
110         <artifactId>maven-failsafe-plugin</artifactId>
111         <configuration>
112           <skip>false</skip>
113           <forkMode>always</forkMode>
114           <!-- TODO: failsafe does timeout, but verify does not fail the build because of the timeout.
115                I believe it is a failsafe bug, we may consider using surefire -->
116           <forkedProcessTimeoutInSeconds>1800</forkedProcessTimeoutInSeconds>
117           <argLine>-enableassertions -Xmx${failsafe.Xmx}
118             -Djava.security.egd=file:/dev/./urandom -XX:+CMSClassUnloadingEnabled
119             -verbose:gc -XX:+PrintCommandLineFlags  -XX:+PrintFlagsFinal</argLine>
120         </configuration>
121       </plugin>
122       <plugin>
123         <groupId>org.apache.maven.plugins</groupId>
124         <artifactId>maven-enforcer-plugin</artifactId>
125         <executions>
126           <!-- purposefully have jsr 305 exclusion only warn in this module -->
127           <execution>
128             <id>banned-jsr305</id>
129             <goals>
130               <goal>enforce</goal>
131             </goals>
132             <configuration>
133               <fail>false</fail>
134             </configuration>
135           </execution>
136           <!-- hbase-spark is ok in this modules -->
137           <execution>
138             <id>banned-hbase-spark</id>
139             <goals>
140               <goal>enforce</goal>
141             </goals>
142             <configuration>
143               <skip>true</skip>
144             </configuration>
145           </execution>
146           <execution>
147             <id>banned-scala</id>
148             <goals>
149               <goal>enforce</goal>
150             </goals>
151             <configuration>
152               <skip>true</skip>
153             </configuration>
154           </execution>
155         </executions>
156       </plugin>
157       <plugin>
158         <artifactId>maven-dependency-plugin</artifactId>
159         <executions>
160           <execution>
161             <id>create-mrapp-generated-classpath</id>
162             <phase>generate-test-resources</phase>
163             <goals>
164               <goal>build-classpath</goal>
165             </goals>
166             <configuration>
167               <!-- needed to run the unit test for DS to generate
168               the required classpath that is required in the env
169               of the launch container in the mini cluster
170               -->
171               <outputFile>${project.build.directory}/test-classes/spark-generated-classpath</outputFile>
172             </configuration>
173           </execution>
174         </executions>
175       </plugin>
176       <plugin>
177         <groupId>org.apache.maven.plugins</groupId>
178         <artifactId>maven-checkstyle-plugin</artifactId>
179         <configuration>
180           <failOnViolation>true</failOnViolation>
181         </configuration>
182       </plugin>
183       <plugin>
184         <groupId>net.revelc.code</groupId>
185         <artifactId>warbucks-maven-plugin</artifactId>
186       </plugin>
187     </plugins>
188   </build>
190   <dependencies>
191     <!-- Intra-project dependencies -->
192     <dependency>
193       <groupId>org.apache.hbase</groupId>
194       <artifactId>hbase-common</artifactId>
195       <type>jar</type>
196     </dependency>
197     <dependency>
198       <groupId>org.apache.hbase</groupId>
199       <artifactId>hbase-client</artifactId>
200     </dependency>
201     <dependency>
202       <groupId>org.apache.hbase</groupId>
203       <artifactId>hbase-server</artifactId>
204       <type>jar</type>
205     </dependency>
206     <dependency>
207       <groupId>org.apache.hbase</groupId>
208       <artifactId>hbase-server</artifactId>
209       <type>test-jar</type>
210       <scope>test</scope>
211     </dependency>
212     <dependency>
213       <groupId>org.apache.hbase</groupId>
214       <artifactId>hbase-spark</artifactId>
215       <version>${project.version}</version>
216     </dependency>
217     <dependency>
218       <groupId>org.apache.hbase</groupId>
219       <artifactId>hbase-it</artifactId>
220       <type>test-jar</type>
221     </dependency>
222     <dependency>
223       <groupId>org.apache.hbase</groupId>
224       <artifactId>${compat.module}</artifactId>
225       <version>${project.version}</version>
226     </dependency>
227     <dependency>
228       <groupId>org.apache.hbase</groupId>
229       <artifactId>hbase-testing-util</artifactId>
230     </dependency>
231     <dependency>
232       <groupId>org.slf4j</groupId>
233       <artifactId>slf4j-api</artifactId>
234     </dependency>
235     <dependency>
236       <groupId>org.apache.commons</groupId>
237       <artifactId>commons-lang3</artifactId>
238     </dependency>
239     <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
240     <dependency>
241       <groupId>io.netty</groupId>
242       <artifactId>netty</artifactId>
243       <version>${netty.hadoop.version}</version>
244       <scope>test</scope>
245     </dependency>
246     <dependency>
247       <groupId>org.apache.spark</groupId>
248       <artifactId>spark-core_${scala.binary.version}</artifactId>
249       <version>${spark.version}</version>
250       <scope>provided</scope>
251       <exclusions>
252         <exclusion>
253           <!-- make sure wrong scala version is not pulled in -->
254           <groupId>org.scala-lang</groupId>
255           <artifactId>scala-library</artifactId>
256         </exclusion>
257         <exclusion>
258           <!-- make sure wrong scala version is not pulled in -->
259           <groupId>org.scala-lang</groupId>
260           <artifactId>scalap</artifactId>
261         </exclusion>
262         <exclusion>
263           <groupId>com.google.code.findbugs</groupId>
264           <artifactId>jsr305</artifactId>
265         </exclusion>
266       </exclusions>
267     </dependency>
268     <dependency>
269       <groupId>org.scala-lang.modules</groupId>
270       <artifactId>scala-xml_2.11</artifactId>
271       <version>1.0.4</version>
272       <scope>provided</scope>
273     </dependency>
274     <dependency>
275       <groupId>org.apache.spark</groupId>
276       <artifactId>spark-sql_${scala.binary.version}</artifactId>
277       <version>${spark.version}</version>
278       <scope>provided</scope>
279     </dependency>
280     <dependency>
281       <groupId>org.apache.spark</groupId>
282       <artifactId>spark-streaming_${scala.binary.version}</artifactId>
283       <version>${spark.version}</version>
284       <scope>provided</scope>
285     </dependency>
286     <dependency>
287       <groupId>org.apache.spark</groupId>
288       <artifactId>spark-streaming_${scala.binary.version}</artifactId>
289       <version>${spark.version}</version>
290       <type>test-jar</type>
291       <classifier>tests</classifier>
292       <scope>test</scope>
293     </dependency>
294     <dependency>
295       <groupId>junit</groupId>
296       <artifactId>junit</artifactId>
297       <scope>test</scope>
298     </dependency>
299   </dependencies>
301   <profiles>
302     <!-- Skip the tests in this module -->
303     <profile>
304       <id>skipIntegrationTests</id>
305       <activation>
306         <property>
307           <name>skipIntegrationTests</name>
308         </property>
309       </activation>
310       <properties>
311         <skipTests>true</skipTests>
312       </properties>
313     </profile>
314   </profiles>
316   <reporting>
317     <plugins>
318       <plugin>
319         <groupId>org.apache.maven.plugins</groupId>
320         <artifactId>maven-surefire-report-plugin</artifactId>
321         <version>2.7.2</version>
322         <reportSets>
323           <reportSet>
324             <id>spark-integration-tests</id>
325             <reports>
326               <report>report-only</report>
327             </reports>
328             <configuration>
329               <outputName>failsafe-report</outputName>
330               <reportsDirectories>
331                 <reportsDirectory>${project.build.directory}/failsafe-reports</reportsDirectory>
332               </reportsDirectories>
333             </configuration>
334           </reportSet>
335         </reportSets>
336       </plugin>
337     </plugins>
338   </reporting>
340 </project>