2014-02-12 2 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

Findbugs의 플러그인 디렉토리에 fb-contrib.jar를두면 자동으로 선택되어야합니다. Gradle tho로 절대로 시도하지 않았습니다.

+1

종속성 아래에 추가하여 더 Findbugs 플러그인을 추가 할 수 있습니다'findbugs.jar'이 받는다는 중앙 저장소를 자동으로 얻을 수있다 :'저장소 {mavenCentral()}'. 'findbugs.jar'가있는 폴더에'fb-contrib.jar' 파일을 수동으로 추가하는 것은 결과물에서 아무 것도 변경하지 않는 것처럼 보입니다. 이상하게도, 위의 스크립트에 Maven 종속성을 추가하면 ... 'dependencies {findbugs'com.mebigfatguy : fbcontrib : 3.4.2-hudson-1 '}'... 빌드 프로세스가 실행되는 동안 멈추는 것 같습니다. 'findbugs'프로세스. 'fb-contrib.jar '의 이전 버전과'findbugs.jar '의 v2.0.3 사이에 일종의 비 호환성이 있다고 생각합니까? – DPR

+0

그런 오래된 버전을 사용해야하는 이유는 무엇입니까? 5.0.3을 시도하십시오 – MeBigFatGuy