64 lines
1.6 KiB
Groovy
64 lines
1.6 KiB
Groovy
apply plugin: "jacoco"
|
|
|
|
jacoco {
|
|
toolVersion = "0.8.2"
|
|
}
|
|
|
|
jacocoTestReport {
|
|
dependsOn test
|
|
reports {
|
|
xml.enabled true
|
|
csv.enabled false
|
|
html.destination file("${buildDir}/reports/jacoco/")
|
|
}
|
|
}
|
|
|
|
if (project.parent.hasProperty("excludedClassesConverage")) {
|
|
project.ext.excludedClassesConverage = parent.excludedClassesConverage
|
|
} else {
|
|
project.ext.excludedClassesConverage = []
|
|
}
|
|
|
|
if (project.parent.hasProperty("excludedClassesBranchConverage")) {
|
|
project.ext.excludedClassesBranchConverage = parent.excludedClassesBranchConverage
|
|
} else {
|
|
project.ext.excludedClassesBranchConverage = []
|
|
}
|
|
|
|
if (project.parent.hasProperty("excludedClassesInstructionConverage")) {
|
|
project.ext.excludedClassesInstructionConverage = parent.excludedClassesInstructionConverage
|
|
} else {
|
|
project.ext.excludedClassesInstructionConverage = []
|
|
}
|
|
|
|
// defaults can be overridden per project:
|
|
project.ext.minimumBranchCoverage = 0.9
|
|
project.ext.minimumInstructionCoverage = 0.9
|
|
|
|
afterEvaluate {
|
|
jacocoTestCoverageVerification {
|
|
violationRules {
|
|
rule {
|
|
element = 'CLASS'
|
|
excludes = project.excludedClassesBranchConverage + project.excludedClassesConverage
|
|
limit {
|
|
counter = 'BRANCH'
|
|
minimum = project.minimumBranchCoverage
|
|
}
|
|
}
|
|
|
|
rule {
|
|
element = 'CLASS'
|
|
excludes = project.excludedClassesInstructionConverage + project.excludedClassesConverage
|
|
limit {
|
|
counter = 'INSTRUCTION'
|
|
minimum = project.minimumInstructionCoverage
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
jacocoTestCoverageVerification.dependsOn jacocoTestReport
|
|
check.dependsOn jacocoTestCoverageVerification
|
|
}
|