DEV Community

Discussion on: How to generate an aggregated code coverage report for all Gradle subprojects

Collapse
 
niv_da profile image
NivDa • Edited

Thanks! it works!!.
i needed to add the following block:

repositories {
mavenCentral()
}
in order to fix a missing dependency error.

it will be nice if you can add some details about what each part does and maybe how to exclude paths/modules from the coverage report.

I also added the same but for JacocoCoverageVerification as follows:

tasks.register< JacocoCoverageVerification >("jacocoRootVerification") {

violationRules {
    rule {
        limit {
            minimum = "0.8".toBigDecimal()
        }
    }

    rule {
        limit {
            counter = "BRANCH"
            minimum = "0.7".toBigDecimal()
        }
    }

    subprojects {
        this@subprojects.plugins.withType<JacocoPlugin>().configureEach {
            this@subprojects.tasks.matching {
                it.extensions.findByType<JacocoTaskExtension>() != null }
                    .configureEach {
                        sourceSets(this@subprojects.the<SourceSetContainer>().named("main").get())
                        executionData(this)
                    }
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

}

still trying to figure out how to exclude some paths from the report and the coverage calculation.

And again, thank you very much!