| <?xml version="1.0"?> |
| <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"> |
| <!-- |
| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| --> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <artifactId>hbase-build-configuration</artifactId> |
| <groupId>org.apache.hbase</groupId> |
| <version>2.0.0-alpha3</version> |
| <relativePath>../hbase-build-configuration</relativePath> |
| </parent> |
| |
| <artifactId>hbase-spark-it</artifactId> |
| <name>Apache HBase - Spark Integration Tests</name> |
| <description>Integration and System tests for HBase</description> |
| |
| |
| <properties> |
| <spark.version>1.6.0</spark.version> |
| <scala.version>2.10.4</scala.version> |
| <scala.binary.version>2.10</scala.binary.version> |
| <!-- Test inclusion patterns used by failsafe configuration --> |
| <unittest.include>**/Test*.java</unittest.include> |
| <integrationtest.include>**/IntegrationTest*.java</integrationtest.include> |
| <!-- To Run Tests with a particular Xmx Value use -Dfailsafe.Xmx=XXXg --> |
| <failsafe.Xmx>4g</failsafe.Xmx> |
| <!-- To run a single integration test, use -Dit.test=IntegrationTestXXX --> |
| </properties> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| <!-- Make a jar and put the sources in the jar --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <!--Make it so assembly:single does nothing in here--> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <configuration> |
| <skipAssembly>true</skipAssembly> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <version>${surefire.version}</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.maven.surefire</groupId> |
| <artifactId>surefire-junit4</artifactId> |
| <version>${surefire.version}</version> |
| </dependency> |
| </dependencies> |
| <configuration> |
| <includes> |
| <include>${integrationtest.include}</include> |
| </includes> |
| <excludes> |
| <exclude>${unittest.include}</exclude> |
| <exclude>**/*$*</exclude> |
| </excludes> |
| <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile> |
| <failIfNoTests>false</failIfNoTests> |
| <testFailureIgnore>false</testFailureIgnore> |
| </configuration> |
| <executions> |
| <execution> |
| <id>integration-test</id> |
| <phase>integration-test</phase> |
| <goals> |
| <goal>integration-test</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>verify</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>verify</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| <!-- Run integration tests with mvn verify --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <configuration> |
| <skip>false</skip> |
| <forkMode>always</forkMode> |
| <!-- TODO: failsafe does timeout, but verify does not fail the build because of the timeout. |
| I believe it is a failsafe bug, we may consider using surefire --> |
| <forkedProcessTimeoutInSeconds>1800</forkedProcessTimeoutInSeconds> |
| <argLine>-enableassertions -Xmx${failsafe.Xmx} |
| -Djava.security.egd=file:/dev/./urandom -XX:+CMSClassUnloadingEnabled |
| -verbose:gc -XX:+PrintCommandLineFlags -XX:+PrintFlagsFinal</argLine> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <!-- purposefully have jsr 305 exclusion only warn in this module --> |
| <execution> |
| <id>banned-jsr305</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <fail>false</fail> |
| </configuration> |
| </execution> |
| <!-- hbase-spark is ok in this modules --> |
| <execution> |
| <id>banned-hbase-spark</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </execution> |
| <execution> |
| <id>banned-scala</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>create-mrapp-generated-classpath</id> |
| <phase>generate-test-resources</phase> |
| <goals> |
| <goal>build-classpath</goal> |
| </goals> |
| <configuration> |
| <!-- needed to run the unit test for DS to generate |
| the required classpath that is required in the env |
| of the launch container in the mini cluster |
| --> |
| <outputFile>${project.build.directory}/test-classes/spark-generated-classpath</outputFile> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| </plugins> |
| </build> |
| |
| <dependencies> |
| <!-- Intra-project dependencies --> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-common</artifactId> |
| <type>jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-client</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-server</artifactId> |
| <type>jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-server</artifactId> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-spark</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-it</artifactId> |
| <type>test-jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>${compat.module}</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-testing-util</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>commons-cli</groupId> |
| <artifactId>commons-cli</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| </dependency> |
| <!-- Hadoop needs Netty 3.x at test scope for the minicluster --> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| <version>${netty.hadoop.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-core_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <scope>provided</scope> |
| <exclusions> |
| <exclusion> |
| <!-- make sure wrong scala version is not pulled in --> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-library</artifactId> |
| </exclusion> |
| <exclusion> |
| <!-- make sure wrong scala version is not pulled in --> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scalap</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-sql_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-streaming_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-streaming_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <type>test-jar</type> |
| <classifier>tests</classifier> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <profiles> |
| <!-- Skip the tests in this module --> |
| <profile> |
| <id>skipIntegrationTests</id> |
| <activation> |
| <property> |
| <name>skipIntegrationTests</name> |
| </property> |
| </activation> |
| <properties> |
| <skipTests>true</skipTests> |
| </properties> |
| </profile> |
| </profiles> |
| |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-report-plugin</artifactId> |
| <version>2.7.2</version> |
| <reportSets> |
| <reportSet> |
| <id>spark-integration-tests</id> |
| <reports> |
| <report>report-only</report> |
| </reports> |
| <configuration> |
| <outputName>failsafe-report</outputName> |
| <reportsDirectories> |
| <reportsDirectory>${project.build.directory}/failsafe-reports</reportsDirectory> |
| </reportsDirectories> |
| </configuration> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| </plugins> |
| </reporting> |
| |
| </project> |