2014-02-12 25 views
7

是否可以將fb-contrib庫與Gradle的FindBugs plugin集成?我一直在尋找解決方案一段時間,但到目前爲止我還沒有找到任何東西...在Gradle的FindBugs插件中使用fb-contrib庫

如果有幫助,這裏是我現在的腳本。這是一項正在進行的工作,但報告生成正確。

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 
} 

希望幫助!

您可以只用下依賴性增加他們findbugsPlugins

+0

如果我這樣做。例如。 '任務FindBugs的(類型:FindBugs的){ toolVersion = 「3.0.1」 ... pluginClasspath = project.configurations.findbugsPlugins }' 我沒有得到任何財產:org.gradle.api.plugins:類toolVersion .quality.FindBugs_Decorated – Kutzi

+0

@Kutzi'toolVersion'不是任務屬性。您需要使用'findbugs {toolVersion =「3.0.1」}'全局定義該屬性。請查看原始問題以獲取此示例。 – Johnco

3

如果您將fb-contrib.jar放置在Findbugs的插件目錄中,它應該自動獲取,我會認爲。從來沒有嘗試過Gradle壽。

+1

增加更多的插件FindBugs的'通過Maven的中央存儲庫自動獲得findbugs.jar':'{庫mavenCentral()}'。手動將'fb-contrib.jar'添加到'findbugs.jar'所在的文件夾似乎不會改變輸出中的任何內容。奇怪的是,如果我在上面的腳本中添加一個Maven依賴項......'依賴關係{findbugs'com.mebigfatguy:fbcontrib:3.4.2-hudson-1'}'......構建過程似乎在執行'findbugs'進程。你認爲老版本的'fb-contrib.jar'和'findbugs.jar'的v2.0.3之間存在某種不兼容? – DPR

+0

爲什麼要使用這樣一箇舊版本?試試5.0.3 – MeBigFatGuy

相關問題