Gradle jacoco coverage report with more than one submodule(s)?

k3b

Does anybody know how to configure a gradle file for java jacoco report that contain codecoverage of more than one gradle submodule?

my current approach only shows codecoverage of the current submodule but not codecoverage of a sibling-submodul.

I have this project structure

- build.gradle (1)
- corelib/
    - build.gradle (2)
    - src/main/java/package/Core.java
- extlib/
    - build.gradle (3)
    - src/main/java/package/Ext.java
    - src/test/java/package/Integrationtest.java

when i execute gradlew :extlib:check :extlib:jacocoTestReport the junit-test "Integrationtest.java" is executed and a codecoverage report is generated that does not contain codecoverage for corelib classes like Core.java

The result should include the codecoverage of Ext.java and Core.java

I already read

but found no clues

here is content of the gradle files

// root build.gradle (1)
// Top-level build file where you can add configuration options 
// common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
    }
}
allprojects {
    repositories {
        jcenter()
    }
}

// build.gradle (2) subproject build file for corelib.
apply plugin: 'java'
apply plugin: 'jacoco'

dependencies {
}

jacocoTestReport {
    reports {
        xml.enabled true
        html.enabled true
    }
}

// build.gradle (3) subproject build file for extlib.
apply plugin: 'java'
apply plugin: 'jacoco'

dependencies {
    compile project(':corelib')
    testCompile 'junit:junit:4.11'

    // this does not compile
    // jacocoTestReport project(':pixymeta-core-lib')
}

jacocoTestReport {
    reports {
        xml.enabled true
        html.enabled true
    }
}

// workaround because android-studio does not make the test resources available
// see https://code.google.com/p/android/issues/detail?id=64887#c13
task copyTestResources(type: Copy) {
    from sourceSets.test.resources
    into sourceSets.test.output.classesDir
}
processTestResources.dependsOn copyTestResources

[Update 2016-08-01]

thanks to @Benjamin Muschko i also tried in the root gradle file

// https://discuss.gradle.org/t/merge-jacoco-coverage-reports-for-multiproject-setups/12100/6
// https://docs.gradle.org/current/dsl/org.gradle.testing.jacoco.tasks.JacocoMerge.html
task jacocoMerge(type: JacocoMerge) {
   subprojects.each { subproject ->
      executionData subproject.tasks.withType(Test)
   } 

}

but got error message (with gradle-2.14)

* What went wrong:
Some problems were found with the configuration of task ':jacocoMerge'.
> No value has been specified for property 'jacocoClasspath'.
> No value has been specified for property 'executionData'.
> No value has been specified for property 'destinationFile'.

there is also the gradle plugin https://github.com/paveldudka/JacocoEverywhere where i have asked for mulit-submodule support https://github.com/paveldudka/JacocoEverywhere/issues/16

[update 2016-08-01] i found a working solution based on https://github.com/palantir/gradle-jacoco-coverage

See my own answer below

k3b

Finally I found this plugin: https://github.com/palantir/gradle-jacoco-coverage that did the job for me:

root gradle.build

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        // see https://jcenter.bintray.com/com/android/tools/build/gradle/
        classpath 'com.android.tools.build:gradle:2.1.0'
        // classpath 'com.android.tools.build:gradle:2.2.0-alpha1'

        // https://github.com/palantir/gradle-jacoco-coverage
        classpath 'com.palantir:jacoco-coverage:0.4.0'      
    }
}

// https://github.com/palantir/gradle-jacoco-coverage
apply plugin: 'com.palantir.jacoco-full-report'

all subprojects that has

apply plugin: 'jacoco'

are included in the report.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Gradle jacoco coverage report with more than one submodule(s)?

From Dev

Exclude folder in jacoco coverage report

From Dev

Jacoco Coverage and Report Task with Ant

From Dev

JaCoCo Debug Coverage Test Report

From Java

Filter JaCoCo coverage reports with Gradle

From Dev

How to report Jacoco Groovy code coverage to Sonar using new Gradle SonarQube plugin?

From Dev

How do I get a jacoco coverage report using Android gradle plugin 0.10.0 or higher?

From Dev

build.gradle with Jacoco plugin doesn't generate coverage report for integration tests

From Dev

How do I get a jacoco coverage report using Android gradle plugin 0.10.0 or higher?

From Dev

Print more than one row in Crystal Report

From Dev

maven jacoco: not generating code coverage report

From Dev

Jacoco Test coverage report shows 0%

From Dev

JaCoCo coverage report setups(exclude test classes)

From Dev

maven jacoco plugin does not generate coverage report

From Dev

Jacoco Test coverage report shows 0%

From Dev

JaCoCo coverage report setups(exclude test classes)

From Dev

Gradle - Jacoco code coverage without running connectedCheck

From Dev

Display test coverage using jacoco in gradle

From Dev

Minimum code coverage threshold in Jacoco Gradle

From Dev

Gradle - Jacoco code coverage without running connectedCheck

From Dev

Coverage report says zero coverage on android with gradle

From Dev

How to use more than one query in Pentaho Report Designer?

From Dev

Fast report expression use more than one filter conditions in delphi

From Dev

How to use more than one query in Pentaho Report Designer?

From Dev

Is it possible to generate more than one page PDF report in R?

From Dev

Getting jacoco report from cucumber tests with gradle

From Dev

Code Coverage Report with Jacoco for IntegrationTests runs on Weblogic server

From Dev

generating jacoco code coverage report for all sub modules

From Dev

Jacoco generate coverage report for only a single test class

Related Related

  1. 1

    Gradle jacoco coverage report with more than one submodule(s)?

  2. 2

    Exclude folder in jacoco coverage report

  3. 3

    Jacoco Coverage and Report Task with Ant

  4. 4

    JaCoCo Debug Coverage Test Report

  5. 5

    Filter JaCoCo coverage reports with Gradle

  6. 6

    How to report Jacoco Groovy code coverage to Sonar using new Gradle SonarQube plugin?

  7. 7

    How do I get a jacoco coverage report using Android gradle plugin 0.10.0 or higher?

  8. 8

    build.gradle with Jacoco plugin doesn't generate coverage report for integration tests

  9. 9

    How do I get a jacoco coverage report using Android gradle plugin 0.10.0 or higher?

  10. 10

    Print more than one row in Crystal Report

  11. 11

    maven jacoco: not generating code coverage report

  12. 12

    Jacoco Test coverage report shows 0%

  13. 13

    JaCoCo coverage report setups(exclude test classes)

  14. 14

    maven jacoco plugin does not generate coverage report

  15. 15

    Jacoco Test coverage report shows 0%

  16. 16

    JaCoCo coverage report setups(exclude test classes)

  17. 17

    Gradle - Jacoco code coverage without running connectedCheck

  18. 18

    Display test coverage using jacoco in gradle

  19. 19

    Minimum code coverage threshold in Jacoco Gradle

  20. 20

    Gradle - Jacoco code coverage without running connectedCheck

  21. 21

    Coverage report says zero coverage on android with gradle

  22. 22

    How to use more than one query in Pentaho Report Designer?

  23. 23

    Fast report expression use more than one filter conditions in delphi

  24. 24

    How to use more than one query in Pentaho Report Designer?

  25. 25

    Is it possible to generate more than one page PDF report in R?

  26. 26

    Getting jacoco report from cucumber tests with gradle

  27. 27

    Code Coverage Report with Jacoco for IntegrationTests runs on Weblogic server

  28. 28

    generating jacoco code coverage report for all sub modules

  29. 29

    Jacoco generate coverage report for only a single test class

HotTag

Archive