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">
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
13 * http://www.apache.org/licenses/LICENSE-2.0
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.
22 <modelVersion>4.0.0</modelVersion>
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>
30 <artifactId>hbase-spark-it</artifactId>
31 <name>Apache HBase - Spark Integration Tests</name>
32 <description>Integration and System tests for HBase</description>
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 -->
51 <!-- Make a jar and put the sources in the jar -->
53 <groupId>org.apache.maven.plugins</groupId>
54 <artifactId>maven-source-plugin</artifactId>
57 <!--Make it so assembly:single does nothing in here-->
58 <artifactId>maven-assembly-plugin</artifactId>
60 <skipAssembly>true</skipAssembly>
64 <groupId>org.apache.maven.plugins</groupId>
65 <artifactId>maven-failsafe-plugin</artifactId>
66 <version>${surefire.version}</version>
69 <groupId>org.apache.maven.surefire</groupId>
70 <artifactId>surefire-junit4</artifactId>
71 <version>${surefire.version}</version>
76 <include>${integrationtest.include}</include>
79 <exclude>${unittest.include}</exclude>
80 <exclude>**/*$*</exclude>
82 <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile>
83 <failIfNoTests>false</failIfNoTests>
84 <testFailureIgnore>false</testFailureIgnore>
88 <id>integration-test</id>
89 <phase>integration-test</phase>
91 <goal>integration-test</goal>
107 <!-- Run integration tests with mvn verify -->
109 <groupId>org.apache.maven.plugins</groupId>
110 <artifactId>maven-failsafe-plugin</artifactId>
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>
123 <groupId>org.apache.maven.plugins</groupId>
124 <artifactId>maven-enforcer-plugin</artifactId>
126 <!-- hbase-spark is ok in this modules -->
128 <id>banned-hbase-spark</id>
137 <id>banned-scala</id>
148 <artifactId>maven-dependency-plugin</artifactId>
151 <id>create-mrapp-generated-classpath</id>
152 <phase>generate-test-resources</phase>
154 <goal>build-classpath</goal>
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
161 <outputFile>${project.build.directory}/test-classes/spark-generated-classpath</outputFile>
167 <groupId>org.apache.maven.plugins</groupId>
168 <artifactId>maven-checkstyle-plugin</artifactId>
170 <failOnViolation>true</failOnViolation>
174 <groupId>net.revelc.code</groupId>
175 <artifactId>warbucks-maven-plugin</artifactId>
181 <!-- Intra-project dependencies -->
183 <groupId>org.apache.hbase</groupId>
184 <artifactId>hbase-common</artifactId>
188 <groupId>org.apache.hbase</groupId>
189 <artifactId>hbase-client</artifactId>
192 <groupId>org.apache.hbase</groupId>
193 <artifactId>hbase-server</artifactId>
197 <groupId>org.apache.hbase</groupId>
198 <artifactId>hbase-server</artifactId>
199 <type>test-jar</type>
203 <groupId>org.apache.hbase</groupId>
204 <artifactId>hbase-spark</artifactId>
205 <version>${project.version}</version>
208 <groupId>org.apache.hbase</groupId>
209 <artifactId>hbase-it</artifactId>
210 <type>test-jar</type>
213 <groupId>org.apache.hbase</groupId>
214 <artifactId>${compat.module}</artifactId>
215 <version>${project.version}</version>
218 <groupId>org.apache.hbase</groupId>
219 <artifactId>hbase-testing-util</artifactId>
222 <groupId>org.slf4j</groupId>
223 <artifactId>slf4j-api</artifactId>
226 <groupId>org.apache.commons</groupId>
227 <artifactId>commons-lang3</artifactId>
229 <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
231 <groupId>io.netty</groupId>
232 <artifactId>netty</artifactId>
233 <version>${netty.hadoop.version}</version>
237 <groupId>org.apache.spark</groupId>
238 <artifactId>spark-core_${scala.binary.version}</artifactId>
239 <version>${spark.version}</version>
240 <scope>provided</scope>
243 <!-- make sure wrong scala version is not pulled in -->
244 <groupId>org.scala-lang</groupId>
245 <artifactId>scala-library</artifactId>
248 <!-- make sure wrong scala version is not pulled in -->
249 <groupId>org.scala-lang</groupId>
250 <artifactId>scalap</artifactId>
253 <groupId>com.google.code.findbugs</groupId>
254 <artifactId>jsr305</artifactId>
259 <groupId>org.scala-lang.modules</groupId>
260 <artifactId>scala-xml_2.11</artifactId>
261 <version>1.0.4</version>
262 <scope>provided</scope>
265 <groupId>org.apache.spark</groupId>
266 <artifactId>spark-sql_${scala.binary.version}</artifactId>
267 <version>${spark.version}</version>
268 <scope>provided</scope>
271 <groupId>org.apache.spark</groupId>
272 <artifactId>spark-streaming_${scala.binary.version}</artifactId>
273 <version>${spark.version}</version>
274 <scope>provided</scope>
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>
285 <groupId>junit</groupId>
286 <artifactId>junit</artifactId>
292 <!-- Skip the tests in this module -->
294 <id>skipIntegrationTests</id>
297 <name>skipIntegrationTests</name>
301 <skipTests>true</skipTests>
309 <groupId>org.apache.maven.plugins</groupId>
310 <artifactId>maven-surefire-report-plugin</artifactId>
311 <version>2.7.2</version>
314 <id>spark-integration-tests</id>
316 <report>report-only</report>
319 <outputName>failsafe-report</outputName>
321 <reportsDirectory>${project.build.directory}/failsafe-reports</reportsDirectory>
322 </reportsDirectories>