2012-09-19 2 views
0

Я хочу настроить FindBugsExtension на Gradle. Он работает, но я не могу исключить определенные шаблоны с опцией excludeFilter.FindBugs не исключает отфильтрованные паттерны с Gradle

У меня есть следующий 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"> 
    <!-- ... --> 

ответ

3

Хорошо, я нашел s от here.

В соответствии с документом необходимо определить excludeFilter на одну задачу из-за bug в версии 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") 
} 
+1

Это известная проблема, которая описана в [Заметки 1,2 релиз] (http://www.gradle.org/docs/current/release -notes # configuration-options-for-findbugs-plugin) и уже исправлена ​​для предстоящей версии 1.3. –

+0

@PeterNiederwieser Спасибо, я обновил свой ответ. –

Смежные вопросы