azkaban-aplcache
Details
.travis.yml 5(+4 -1)
diff --git a/.travis.yml b/.travis.yml
index facfdc7..08ebc0a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,7 +3,7 @@ languages: java
jdk:
- oraclejdk8
sudo: false
-script: ./gradlew clean build --scan --no-daemon --info
+script: ./gradlew clean build coveralls --scan --no-daemon --info
# see https://docs.travis-ci.com/user/languages/java/#Projects-Using-Gradle
before_cache:
@@ -18,3 +18,6 @@ env:
global:
# Reduce the memory pressure on Travis CI to reduce build failures.
- GRADLE_OPTS="-Xms128m"
+
+after_success:
+ - bash <(curl -s https://codecov.io/bash)
build.gradle 38(+38 -0)
diff --git a/build.gradle b/build.gradle
index f673be1..e878238 100644
--- a/build.gradle
+++ b/build.gradle
@@ -29,6 +29,8 @@ buildscript {
plugins {
id 'com.gradle.build-scan' version '1.9'
+ id 'com.github.kt3k.coveralls' version '2.6.3'
+ id 'jacoco'
}
buildScan {
@@ -45,6 +47,8 @@ compareGradleBuilds {
}
allprojects {
+ apply plugin: 'jacoco'
+
repositories {
mavenCentral()
mavenLocal()
@@ -227,3 +231,37 @@ if (System.env.TRAVIS == 'true') {
}
}
}
+
+def publishedProjects = subprojects.findAll()
+
+// Aggregate all subproject reports into one.
+task jacocoRootReport(type: JacocoReport, group: 'Coverage reports') {
+ description = 'Generates an aggregate report from all subprojects'
+
+ dependsOn(publishedProjects.test)
+
+ // JacocoReport-type task requires users to specify which classes to be covered
+ // See details in
+ // https://docs.gradle.org/current/dsl/org.gradle.testing.jacoco.tasks.JacocoReport.html
+ sourceDirectories = files(publishedProjects.sourceSets.main.allSource.srcDirs)
+ classDirectories = files(publishedProjects.sourceSets.main.output)
+ executionData = files(publishedProjects.jacocoTestReport.executionData)
+
+ doFirst {
+ executionData = files(executionData.findAll { it.exists() })
+ }
+
+ reports {
+ html.enabled = true // human readable
+ xml.enabled = true // required by coveralls
+ }
+}
+
+coveralls {
+ sourceDirs = publishedProjects.sourceSets.main.allSource.srcDirs.flatten()
+ jacocoReportPath = "${buildDir}/reports/jacoco/jacocoRootReport/jacocoRootReport.xml"
+}
+
+tasks.coveralls {
+ dependsOn jacocoRootReport
+}