3

I am trying to exclude Dao files generated by Room from Jacoco code coverage report. But exclude is not working. Here is my task:

task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) {

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

    def fileFilter = ['**/R.class',
                      '**/R$*.class',
                      '**/BuildConfig.*',
                      '**/Manifest*.*',
                      '**/*Test*.*',
                      'android/**/*.*',

                      '**/*$ViewBinder*.*',
                      '**/*$ViewInjector*.*',
                      '**/*Module.*',
                      '**/*dao*.*',
                      '**/*_MembersInjector.class',
                      '**/Dagger*Component*.class',
                      '**/Dagger*Subcomponent*.class',
                      '**/*Subcomponent$Builder.class',
                      '**/*Module_*Factory.class',
                      '**/*Module_*Impl.class',
                      '**/*Module_*ViewBinding.class']

    def debugTree = fileTree(dir: "$project.buildDir/intermediates/classes/debug", excludes: fileFilter)
    def mainSrc = "$project.projectDir/src/main/java"

    sourceDirectories = files([mainSrc])
    classDirectories = files([debugTree])
    executionData = fileTree(dir: project.buildDir, includes: [
            'jacoco/testDebugUnitTest.exec', 'outputs/code-coverage/connected/*coverage.ec'
    ])

}
Martijn Pieters
  • 1,048,767
  • 296
  • 4,058
  • 3,343

1 Answers1

1

just add this to your gradle fileFilter : **/*Binding*.*

j2emanue
  • 60,549
  • 65
  • 286
  • 456