I am using the following script for jacoco code coverage. HTML reports 
display correct results for junit test cases, where as the exec file shows 
0% coverage. I am using JUnit testing, and my Unit tests are located at 
app/src/test/. I am trying to use this jacoco.exec in jacoco jenkins plugin 
to display my results. My jenkins is setup using amtrix project plugin. 
What am I doing wrong? My jenkins version is 1.596.2. 

I appreciate any inputs on this one.

apply plugin: 'jacoco'

jacoco {
    toolVersion = "0.7.5.201505241946"
}

project.afterEvaluate {
    // Grab all build types and product flavors
    def buildTypes = android.buildTypes.collect { type -> type.name }
    def productFlavors = android.productFlavors.collect { flavor -> 
flavor.name }

    // When no product flavors defined, use empty
    if (!productFlavors) productFlavors.add('')

    productFlavors.each { productFlavorName ->
        buildTypes.each { buildTypeName ->
            def sourceName, sourcePath
            if (!productFlavorName) {
                sourceName = sourcePath = "${buildTypeName}"
            } else {
                sourceName = 
"${productFlavorName}${buildTypeName.capitalize()}"
                sourcePath = "${productFlavorName}/${buildTypeName}"
            }
            def testTaskName = "test${sourceName.capitalize()}UnitTest"

            // Create coverage task of form 'testFlavorTypeCoverage' 
depending on 'testFlavorTypeUnitTest'
            task "${testTaskName}Coverage" (type:JacocoReport, dependsOn: 
"$testTaskName") {
                group = "Reporting"
                description = "Generate Jacoco coverage reports on the 
${sourceName.capitalize()} build."

                classDirectories = fileTree(
                        dir: 
"${project.buildDir}/intermediates/classes/${sourcePath}",
                        excludes: ['**/R.class',
                                   '**/R$*.class',
                                   '**/*$ViewInjector*.*',
                                   '**/*$ViewBinder*.*',
                                   '**/BuildConfig.*',
                                   '**/Manifest*.*']
                )

                def coverageSourceDirs = [
                        "src/main/java",
                        "src/$productFlavorName/java",
                        "src/$buildTypeName/java"
                ]
                additionalSourceDirs = files(coverageSourceDirs)
                sourceDirectories = files(coverageSourceDirs)
                executionData = 
files("${project.buildDir}/jacoco/${testTaskName}.exec")

                reports {
                    xml.enabled = true
                    html.enabled = true
html.destination = "${System.getenv('View_Root')}/_Build/Jacoco"
                }
            }
        }
    }
}

-Sahana T

-- 
Azért kapta ezt az üzenetet, mert feliratkozott a Google Csoportok 
szolgáltatásbeli Jenkins JaCoCo plugin mailing list csoportra.
Az erről a csoportról és az ahhoz kapcsolódó e-mailekről való leiratkozáshoz 
küldjön egy e-amailt a(z) 
[email protected] címre.
Ha üzenetet szeretne küldeni ebbe a csoportba, küldjön egy e-mailt a(z) 
[email protected] címre.
További lehetőségekért látogasson el a(z) https://groups.google.com/d/optout 
címre.

Reply via email to