FindBugs不会使用Gradle排除过滤后的模式

时间:2012-09-19 12:08:05

标签: gradle findbugs

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

1 个答案:

答案 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")
}
相关问题