This is an automated email from the ASF dual-hosted git repository. granthenke pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/kudu.git
commit 55b10e82a62c21c6d9162f41483b956f28528d07 Author: Grant Henke <[email protected]> AuthorDate: Tue May 8 13:55:10 2018 -0500 [build] Add a test coverage report to the Java build This patch adds a jacoco test coverage report to the Java build. The report can be generated by running `./gradlew jacocoAggregatedReport` and looking at `java/build/reports/jacoco/jacocoAggregatedReport/html/index.html` A follow on patch will add this coverage run to the build-and-test.sh “COVERAGE” type build. Change-Id: I0f2a2b1836b5ade72a757a8d7e2c518858ec48bb Reviewed-on: http://gerrit.cloudera.org:8080/16954 Tested-by: Kudu Jenkins Reviewed-by: Alexey Serbin <[email protected]> --- java/build.gradle | 1 + java/buildSrc/build.gradle | 1 + java/gradle/dependencies.gradle | 1 + java/gradle/quality.gradle | 19 +++++++++++++++++++ 4 files changed, 22 insertions(+) diff --git a/java/build.gradle b/java/build.gradle index 7514176..686a5d5 100755 --- a/java/build.gradle +++ b/java/build.gradle @@ -25,6 +25,7 @@ import org.apache.kudu.gradle.DistTestTask // Plugins and scripts applied at the root level only, instead of per module. apply plugin: "idea" apply plugin: "eclipse" +apply plugin: "org.barfuin.gradle.jacocolog" apply from: "$rootDir/gradle/properties.gradle" apply from: "$rootDir/gradle/dependencies.gradle" apply from: "$rootDir/gradle/wrapper.gradle" diff --git a/java/buildSrc/build.gradle b/java/buildSrc/build.gradle index e9d9b7c..840a936 100644 --- a/java/buildSrc/build.gradle +++ b/java/buildSrc/build.gradle @@ -30,6 +30,7 @@ repositories { dependencies { compile "com.github.ben-manes:gradle-versions-plugin:0.36.0" compile "com.github.jengelman.gradle.plugins:shadow:6.1.0" + compile "gradle.plugin.org.barfuin.gradle.jacocolog:gradle-jacoco-log:1.2.3" compile "gradle.plugin.com.google.gradle:osdetector-gradle-plugin:1.6.2" compile "com.google.protobuf:protobuf-gradle-plugin:0.8.14" compile "com.netflix.nebula:nebula-clojure-plugin:9.4.3" diff --git a/java/gradle/dependencies.gradle b/java/gradle/dependencies.gradle index 911c5e9..10aef8b 100755 --- a/java/gradle/dependencies.gradle +++ b/java/gradle/dependencies.gradle @@ -40,6 +40,7 @@ versions += [ hdrhistogram : "2.1.12", hive : "3.1.2", httpClient : "4.5.13", + jacoco : "0.8.6", jepsen : "0.1.5", jetty : "9.4.35.v20201120", jmh : "1.27", diff --git a/java/gradle/quality.gradle b/java/gradle/quality.gradle index 69d3759..f4ca7a8 100644 --- a/java/gradle/quality.gradle +++ b/java/gradle/quality.gradle @@ -101,6 +101,25 @@ if(!JavaVersion.current().isJava12Compatible()) { } } +// Don't enable code coverage for kudu-proto given it is exclusively generated code. +// Don't enable code coverage for kudu-jepsen given it is exclusively test code. +if (project.name != "kudu-proto" && project.name != "kudu-jepsen") { + apply plugin: "jacoco" // Provides code coverage metrics for Java code. + jacoco { + toolVersion = versions.jacoco + } + tasks.withType(JacocoReport) { + reports { + csv.enabled false + xml.enabled true + html.enabled true + } + } + jacocoTestReport { + dependsOn test // tests are required to run before generating the report + } +} + // Define a Java API signature for use by animal-sniffer. It'll enforce that all // Java API usage adheres to this signature. dependencies {
