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 <!-- purposefully have jsr 305 exclusion only warn in this module -->
128 <id>banned-jsr305</id>
136 <!-- hbase-spark is ok in this modules -->
138 <id>banned-hbase-spark</id>
147 <id>banned-scala</id>
158 <artifactId>maven-dependency-plugin</artifactId>
161 <id>create-mrapp-generated-classpath</id>
162 <phase>generate-test-resources</phase>
164 <goal>build-classpath</goal>
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
171 <outputFile>${project.build.directory}/test-classes/spark-generated-classpath</outputFile>
177 <groupId>org.apache.maven.plugins</groupId>
178 <artifactId>maven-checkstyle-plugin</artifactId>
180 <failOnViolation>true</failOnViolation>
184 <groupId>net.revelc.code</groupId>
185 <artifactId>warbucks-maven-plugin</artifactId>
191 <!-- Intra-project dependencies -->
193 <groupId>org.apache.hbase</groupId>
194 <artifactId>hbase-common</artifactId>
198 <groupId>org.apache.hbase</groupId>
199 <artifactId>hbase-client</artifactId>
202 <groupId>org.apache.hbase</groupId>
203 <artifactId>hbase-server</artifactId>
207 <groupId>org.apache.hbase</groupId>
208 <artifactId>hbase-server</artifactId>
209 <type>test-jar</type>
213 <groupId>org.apache.hbase</groupId>
214 <artifactId>hbase-spark</artifactId>
215 <version>${project.version}</version>
218 <groupId>org.apache.hbase</groupId>
219 <artifactId>hbase-it</artifactId>
220 <type>test-jar</type>
223 <groupId>org.apache.hbase</groupId>
224 <artifactId>${compat.module}</artifactId>
225 <version>${project.version}</version>
228 <groupId>org.apache.hbase</groupId>
229 <artifactId>hbase-testing-util</artifactId>
232 <groupId>org.slf4j</groupId>
233 <artifactId>slf4j-api</artifactId>
236 <groupId>org.apache.commons</groupId>
237 <artifactId>commons-lang3</artifactId>
239 <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
241 <groupId>io.netty</groupId>
242 <artifactId>netty</artifactId>
243 <version>${netty.hadoop.version}</version>
247 <groupId>org.apache.spark</groupId>
248 <artifactId>spark-core_${scala.binary.version}</artifactId>
249 <version>${spark.version}</version>
250 <scope>provided</scope>
253 <!-- make sure wrong scala version is not pulled in -->
254 <groupId>org.scala-lang</groupId>
255 <artifactId>scala-library</artifactId>
258 <!-- make sure wrong scala version is not pulled in -->
259 <groupId>org.scala-lang</groupId>
260 <artifactId>scalap</artifactId>
263 <groupId>com.google.code.findbugs</groupId>
264 <artifactId>jsr305</artifactId>
269 <groupId>org.scala-lang.modules</groupId>
270 <artifactId>scala-xml_2.11</artifactId>
271 <version>1.0.4</version>
272 <scope>provided</scope>
275 <groupId>org.apache.spark</groupId>
276 <artifactId>spark-sql_${scala.binary.version}</artifactId>
277 <version>${spark.version}</version>
278 <scope>provided</scope>
281 <groupId>org.apache.spark</groupId>
282 <artifactId>spark-streaming_${scala.binary.version}</artifactId>
283 <version>${spark.version}</version>
284 <scope>provided</scope>
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>
295 <groupId>junit</groupId>
296 <artifactId>junit</artifactId>
302 <!-- Skip the tests in this module -->
304 <id>skipIntegrationTests</id>
307 <name>skipIntegrationTests</name>
311 <skipTests>true</skipTests>
319 <groupId>org.apache.maven.plugins</groupId>
320 <artifactId>maven-surefire-report-plugin</artifactId>
321 <version>2.7.2</version>
324 <id>spark-integration-tests</id>
326 <report>report-only</report>
329 <outputName>failsafe-report</outputName>
331 <reportsDirectory>${project.build.directory}/failsafe-reports</reportsDirectory>
332 </reportsDirectories>