JaCoCo gradle plugin exclude

11,112

Solution 1

Try something like this:

excludes: ['**/Dao*.class']

But as I understand, this will exclude the class from jacoco but the Report that Jacoco creates will show you "0% of coverage": Gradle issue: https://issues.gradle.org/browse/GRADLE-2955

Solution 2

For newer version of gradle (6+) use this:

jacocoTestCoverageVerification {
    violationRules {
        rule {
            includes = ['com/myapp/*']
            excludes = [
                    'com/myapp/folderToExclude1/*',
                    'com/myapp/folderToExclude2/*',
            ]
           limit {
                minimum = 0.85
            }
        }
    }
}
Share:
11,112
user1226868
Author by

user1226868

Updated on June 14, 2022

Comments

  • user1226868
    user1226868 almost 2 years

    I want to exclude some clasess from JaCoCo but the exclude doest seem to work.

    For example i want to exclude all Java clasess that end with Dao (for example com.company.EmplyeeDao).

    I have tried the following code, but it still shows up when i push this to sonar / use JacocoTestReport.

    test {
        jacoco {
            append = true
            destinationFile = file("$buildDir/jacoco/jacocoTest.exec")
            classDumpFile = file("$buildDir/jacoco/classpathdumps")
            excludes = ['*Dao']
    }
    }
    

    I'm using this in combination with Android. What is going on?

  • Juan Saravia
    Juan Saravia over 9 years
    As I understand, yes. In the gradle issue one person excludes a yahoo and google libraries.
  • mikhail
    mikhail about 9 years
    Won't this exclude classes that START with the word Dao? The question was for classes that END with Dao. Should the filter be '**/*Dao.class' ?
  • Juan Saravia
    Juan Saravia about 9 years
    that's true what you said but there is no Dao.class file to exclude, the classes are like DaoProfile.class, DaoManager.class, etc. So that's why I'm using Dao*.class.