0

我想将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">
    <!-- ... -->
4

1 回答 1

3

好的,我从这里找到了解决方案。

与文档相反,由于Gradle 1.2 版中的错误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")
}
于 2012-09-19T12:29:22.463 回答