我想将FindBugsExtension设置为Gradle。它有效,但我无法使用excludeFilter
选项排除特定模式。
我有以下gradle FindBugs定义:
findbugs {
toolVersion = "2.0.1"
reportsDir = file("$project.buildDir/findbugsReports")
effort = "max"
reportLevel = "high"
excludeFilter = file("$rootProject.projectDir/config/findbugs/excludeFilter.xml")
}
在excludeFilter.xml
我定义了以下排除:
<FindBugsFilter>
<Match>
<Bug pattern="NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE"/>
</Match>
</FindBugsFilter>
但是当我运行gradle findBugsMain
时它会失败,因为它可能会发现FindBugs错误:
<BugCollection version="2.0.1" sequence="0" timestamp="1348055542169" analysisTimestamp="1348055545581" release="">
<!-- ... -->
<BugInstance type="NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE" priority="2" abbrev="NP" category="STYLE">
<!-- ... -->
答案 0 :(得分:3)
好的,我从here找到了解决方案。
与文档相反,由于Gradle 1.2版中的bug,每个任务需要定义excludeFilter
。
因此完整配置看起来像1.2:
findbugs {
toolVersion = "2.0.1"
reportsDir = file("$project.buildDir/findbugsReports")
effort = "max"
reportLevel = "high"
}
tasks.withType(FindBugs) {
excludeFilter = file("$rootProject.projectDir/config/findbugs/excludeFilter.xml")
}