(TEPHRA-282) Split Travis build: one for core, and a few for the various compat modules.
This closes #70 from GitHub.
Signed-off-by: anew <anew@apache.org>
diff --git a/.travis.yml b/.travis.yml
index 941d602..59a3f20 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -25,6 +25,16 @@
- oraclejdk7
- oraclejdk8
+# Run once to test core, then test the compat modules in groups, though their respective example modules
+# Note: 1.1, 1.2, cdh-57 amd cdh-5.8 all depend on compat-1.1-base, so we run them all together
+# Note: -DskipCoreTests will active a profile in tephra-core that skips tests
+env:
+ - OPTIONS='-am -pl tephra-core'
+ - OPTIONS='-am -DskipCoreTests -pl tephra-examples/hbase-0.96,tephra-examples/hbase-0.98'
+ - OPTIONS='-am -DskipCoreTests -pl tephra-examples/hbase-1.0,tephra-examples/hbase-1.0-cdh'
+ - OPTIONS='-am -DskipCoreTests -pl tephra-examples/hbase-1.1,tephra-examples/hbase-1.2,tephra-examples/cdh-5.7,tephra-examples/cdh-5.8'
+ - OPTIONS='-am -DskipCoreTests -pl tephra-examples/hbase-1.3,tephra-examples/hbase-1.4'
+
branches:
only:
- master
@@ -32,7 +42,8 @@
- /^hotfix\/.*$/
- /^release\/.*$/
-script: mvn test
+script:
+ - mvn test $OPTIONS
sudo: false
diff --git a/tephra-core/pom.xml b/tephra-core/pom.xml
index 93e614e..41ea725 100644
--- a/tephra-core/pom.xml
+++ b/tephra-core/pom.xml
@@ -141,4 +141,28 @@
</plugins>
</build>
+ <profiles>
+ <!-- this profile is used in travis to avoid testing core for each compat module. Activated by -DskipCoreTests -->
+ <profile>
+ <id>noTest</id>
+ <activation>
+ <property>
+ <name>skipCoreTests</name>
+ <value>true</value>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skipTests>true</skipTests>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
</project>
diff --git a/tephra-examples/pom.xml b/tephra-examples/pom.xml
index 66f3f7d..6f10d3b 100644
--- a/tephra-examples/pom.xml
+++ b/tephra-examples/pom.xml
@@ -57,54 +57,6 @@
<artifactId>tephra-core</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.tephra</groupId>
- <artifactId>tephra-hbase-compat-1.0</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-common</artifactId>
- <version>${hbase10.version}</version>
- <scope>provided</scope>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-client</artifactId>
- <version>${hbase10.version}</version>
- <scope>provided</scope>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-protocol</artifactId>
- <version>${hbase10.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-server</artifactId>
- <version>${hbase10.version}</version>
- <scope>provided</scope>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
<!-- Test dependencies -->
<dependency>
@@ -126,35 +78,6 @@
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-server</artifactId>
- <version>${hbase10.version}</version>
- <type>test-jar</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-testing-util</artifactId>
- <version>${hbase10.version}</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>asm</groupId>
- <artifactId>asm</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
</dependencies>
<build>