【发布时间】:2015-01-17 23:16:09
【问题描述】:
有没有办法从 SonarQube(由 gradle + sonar-runner 检测)覆盖率报告(由 jacoco 生成)中排除包而不将它们完全排除在项目之外?
以下是我目前尝试过的:
版本信息
- SonarQube 4.5.1
- Gradle 2.2。
Jacoco 配置
// JaCoCo test coverage configuration
tasks.withType(Test) { task ->
jacoco {
append = false
// excluded classes from coverage defined in above configuration
excludes = excludedClasses()
}
jacocoTestReport {
doFirst {
classDirectories = fileTree(dir: "${buildDir}/classes/main/").exclude(excludedClasses())
}
}
}
Sonarrunner 配置
从声纳分析中排除包的属性设置。将此添加到我的配置中会导致软件包在 Sonar 中根本不显示。
property 'sonar.exclusions', excludedClasses().join(',')
从 jacoco 中排除包的属性设置。设置此选项会导致包被排除在覆盖率分析之外,但显示为 0%,这会导致总分不佳。
property 'sonar.jacoco.exclusions', excludedClasses().join(',')
【问题讨论】:
标签: gradle jacoco sonar-runner