FindBugs не исключает отфильтрованные шаблоны с помощью Gradle

Я хочу настроить FindBugsExtension на Gradle. Это работает, но я не могу исключить определенные шаблоны с помощью параметра excludeFilter.

У меня есть следующее определение градации 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">
    <!-- ... -->

person KARASZI István    schedule 19.09.2012    source источник


Ответы (1)


Хорошо, я нашел решение здесь.

В отличие от документации, excludeFilter необходимо определять для каждой задачи из-за ошибка в Gradle версии 1.2.

Таким образом, полная конфигурация для версии 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")
}
person KARASZI István    schedule 19.09.2012
comment
Это известная проблема, описанная в выпуске 1.2. примечания и уже исправлено для предстоящего выпуска 1.3. - person Peter Niederwieser; 19.09.2012