HBASE-21076 Addendum fixup of added checkstyle errors and comment.
[hbase.git] / hbase-spark-it / pom.xml
blob2f29fa30f24f9629b8f578e02f53007b40c5f633
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           <!-- hbase-spark is ok in this modules -->
127           <execution>
128             <id>banned-hbase-spark</id>
129             <goals>
130               <goal>enforce</goal>
131             </goals>
132             <configuration>
133               <skip>true</skip>
134             </configuration>
135           </execution>
136           <execution>
137             <id>banned-scala</id>
138             <goals>
139               <goal>enforce</goal>
140             </goals>
141             <configuration>
142               <skip>true</skip>
143             </configuration>
144           </execution>
145         </executions>
146       </plugin>
147       <plugin>
148         <artifactId>maven-dependency-plugin</artifactId>
149         <executions>
150           <execution>
151             <id>create-mrapp-generated-classpath</id>
152             <phase>generate-test-resources</phase>
153             <goals>
154               <goal>build-classpath</goal>
155             </goals>
156             <configuration>
157               <!-- needed to run the unit test for DS to generate
158               the required classpath that is required in the env
159               of the launch container in the mini cluster
160               -->
161               <outputFile>${project.build.directory}/test-classes/spark-generated-classpath</outputFile>
162             </configuration>
163           </execution>
164         </executions>
165       </plugin>
166       <plugin>
167         <groupId>org.apache.maven.plugins</groupId>
168         <artifactId>maven-checkstyle-plugin</artifactId>
169         <configuration>
170           <failOnViolation>true</failOnViolation>
171         </configuration>
172       </plugin>
173       <plugin>
174         <groupId>net.revelc.code</groupId>
175         <artifactId>warbucks-maven-plugin</artifactId>
176       </plugin>
177     </plugins>
178   </build>
180   <dependencies>
181     <!-- Intra-project dependencies -->
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-client</artifactId>
190     </dependency>
191     <dependency>
192       <groupId>org.apache.hbase</groupId>
193       <artifactId>hbase-server</artifactId>
194       <type>jar</type>
195     </dependency>
196     <dependency>
197       <groupId>org.apache.hbase</groupId>
198       <artifactId>hbase-server</artifactId>
199       <type>test-jar</type>
200       <scope>test</scope>
201     </dependency>
202     <dependency>
203       <groupId>org.apache.hbase</groupId>
204       <artifactId>hbase-spark</artifactId>
205       <version>${project.version}</version>
206     </dependency>
207     <dependency>
208       <groupId>org.apache.hbase</groupId>
209       <artifactId>hbase-it</artifactId>
210       <type>test-jar</type>
211     </dependency>
212     <dependency>
213       <groupId>org.apache.hbase</groupId>
214       <artifactId>${compat.module}</artifactId>
215       <version>${project.version}</version>
216     </dependency>
217     <dependency>
218       <groupId>org.apache.hbase</groupId>
219       <artifactId>hbase-testing-util</artifactId>
220     </dependency>
221     <dependency>
222       <groupId>org.slf4j</groupId>
223       <artifactId>slf4j-api</artifactId>
224     </dependency>
225     <dependency>
226       <groupId>org.apache.commons</groupId>
227       <artifactId>commons-lang3</artifactId>
228     </dependency>
229     <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
230     <dependency>
231       <groupId>io.netty</groupId>
232       <artifactId>netty</artifactId>
233       <version>${netty.hadoop.version}</version>
234       <scope>test</scope>
235     </dependency>
236     <dependency>
237       <groupId>org.apache.spark</groupId>
238       <artifactId>spark-core_${scala.binary.version}</artifactId>
239       <version>${spark.version}</version>
240       <scope>provided</scope>
241       <exclusions>
242         <exclusion>
243           <!-- make sure wrong scala version is not pulled in -->
244           <groupId>org.scala-lang</groupId>
245           <artifactId>scala-library</artifactId>
246         </exclusion>
247         <exclusion>
248           <!-- make sure wrong scala version is not pulled in -->
249           <groupId>org.scala-lang</groupId>
250           <artifactId>scalap</artifactId>
251         </exclusion>
252         <exclusion>
253           <groupId>com.google.code.findbugs</groupId>
254           <artifactId>jsr305</artifactId>
255         </exclusion>
256       </exclusions>
257     </dependency>
258     <dependency>
259       <groupId>org.scala-lang.modules</groupId>
260       <artifactId>scala-xml_2.11</artifactId>
261       <version>1.0.4</version>
262       <scope>provided</scope>
263     </dependency>
264     <dependency>
265       <groupId>org.apache.spark</groupId>
266       <artifactId>spark-sql_${scala.binary.version}</artifactId>
267       <version>${spark.version}</version>
268       <scope>provided</scope>
269     </dependency>
270     <dependency>
271       <groupId>org.apache.spark</groupId>
272       <artifactId>spark-streaming_${scala.binary.version}</artifactId>
273       <version>${spark.version}</version>
274       <scope>provided</scope>
275     </dependency>
276     <dependency>
277       <groupId>org.apache.spark</groupId>
278       <artifactId>spark-streaming_${scala.binary.version}</artifactId>
279       <version>${spark.version}</version>
280       <type>test-jar</type>
281       <classifier>tests</classifier>
282       <scope>test</scope>
283     </dependency>
284     <dependency>
285       <groupId>junit</groupId>
286       <artifactId>junit</artifactId>
287       <scope>test</scope>
288     </dependency>
289   </dependencies>
291   <profiles>
292     <!-- Skip the tests in this module -->
293     <profile>
294       <id>skipIntegrationTests</id>
295       <activation>
296         <property>
297           <name>skipIntegrationTests</name>
298         </property>
299       </activation>
300       <properties>
301         <skipTests>true</skipTests>
302       </properties>
303     </profile>
304   </profiles>
306   <reporting>
307     <plugins>
308       <plugin>
309         <groupId>org.apache.maven.plugins</groupId>
310         <artifactId>maven-surefire-report-plugin</artifactId>
311         <version>2.7.2</version>
312         <reportSets>
313           <reportSet>
314             <id>spark-integration-tests</id>
315             <reports>
316               <report>report-only</report>
317             </reports>
318             <configuration>
319               <outputName>failsafe-report</outputName>
320               <reportsDirectories>
321                 <reportsDirectory>${project.build.directory}/failsafe-reports</reportsDirectory>
322               </reportsDirectories>
323             </configuration>
324           </reportSet>
325         </reportSets>
326       </plugin>
327     </plugins>
328   </reporting>
330 </project>