2014-02-12 2 views
7

Возможно ли интегрировать библиотеку fb-contrib с Gradle's FindBugs plugin? Я искал какое-то решение, но до сих пор я ничего не нашел ...Использование библиотеки fb-contrib с плагином FindBugs Gradle

Если это помогает, вот сценарий, который у меня есть сейчас. Это незавершенное производство, но отчет создается правильно.

apply plugin: "findbugs" 

task findbugs(type: FindBugs) { 

    classes = fileTree(project.rootDir.absolutePath).include("**/*.class"); 
    source = fileTree(project.rootDir.absolutePath).include("**/*.java"); 
    classpath = files() 

    findbugs { 
      toolVersion = "2.0.3" 
      ignoreFailures = true 
      effort = "max" 
      reportLevel = "low" 
      reportsDir = file("${projectDir}/reports/findbugs") 
      sourceSets = [it.sourceSets.main, it.sourceSets.test] 
    } 

    tasks.withType(FindBugs) { 
      reports { 
        xml.enabled = false 
        html.enabled = true 
      } 
    } 
} 

Заранее благодарим за любой ответ.

ответ

6

Я только что наткнулся на эту же проблему. Я смог решить эту проблему следующим образом:

apply plugin: 'findbugs' 

dependencies { 
    // We need to manually set this first, or the plugin is not loaded 
    findbugs 'com.google.code.findbugs:findbugs:3.0.0' 
    findbugs configurations.findbugsPlugins.dependencies 

    // To keep everything tidy, we set these apart 
    findbugsPlugins 'com.mebigfatguy.fb-contrib:fb-contrib:6.0.0' 
} 

task findbugs(type: FindBugs) { 
    // Add all your config here ... 

    pluginClasspath = project.configurations.findbugsPlugins 
} 

Надеюсь, что это поможет!

Вы можете добавить больше плагинов FindBugs просто добавив их в зависимости для findbugsPlugins

+0

Если я так делаю. Например. 'FindBugs задачи (типа: FindBugs) { toolVersion = "3.0.1" ... pluginClasspath = project.configurations.findbugsPlugins }' я получаю такое свойство: toolVersion для класса: org.gradle.api.plugins .quality.FindBugs_Decorated – Kutzi

+0

@Kutzi 'toolVersion' не является свойством задачи. Вам нужно определить это свойство глобально с помощью 'findbugs {toolVersion =" 3.0.1 "}'. Проверьте исходный вопрос на примере. – Johnco

3

Если вы поместите файл fb-contrib.jar в каталог плагинов Findbugs, он должен просто автоматически получить подхват, я бы подумал. Никогда не пробовал с Gradle tho.

+1

'findbugs.jar' получается автоматически через Maven центрального хранилища:' репозиториев {mavenCentral()} '. Вручную добавление 'fb-contrib.jar' в папку, где« findbugs.jar », похоже, ничего не меняет в выводе. Как ни странно, если я добавлю зависимость Maven к сценарию выше ... 'dependencies {findbugs 'com.mebigfatguy: fbcontrib: 3.4.2-hudson-1'}' ... процесс сборки просто застрял во время выполнения процесс «findbugs». Как вы думаете, существует какая-то несовместимость между более старыми версиями 'fb-contrib.jar' и v2.0.3 'findbugs.jar'? – DPR

+0

Зачем использовать такую ​​старую версию? try 5.0.3 – MeBigFatGuy

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

  • Нет связанных вопросов^_^