2015-03-11 29 views
5

başarısız olmaz. Eklenti raporları oluşturmasına rağmen, yapı başarısız olmaz. Ben ignoreFailures özelliğiyle 'oyun' denedi ama bu da iyi geçmedi. Findbugs Gradle eklentisi ben geliştiricilere kişisel yapı geçmemek için benim build.gradle dosyasında findbugs eklenti kullanmak çalışıyorum ama işe yaramıyor yapı

Ben bu cevabı How to write a customized gradle task to not to ignore Findbugs violations but fail after the analysis is completed kullanılan ve işe yaradı ama raporlarını ayrıştırmak için sevmiyorum ve kesmek gibi hissediyor.

Gradle FindBugs kullanarak inşa başarısız (olmalıdır 'ignoreFailures' gibi) basit bir yolu var mı? Bunu yapmak için başka uygun bir çerçeve var mı?

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath "com.bmuschko:gradle-tomcat-plugin:2.1" 
    } 
} 

subprojects { 
apply plugin:'java' 
apply plugin:'eclipse' 


apply plugin: "findbugs" 
findbugs { 
    reportsDir = file("$project.buildDir/findbugsReports") 
    effort = "max" 
    reportLevel = "high" 
} 

build.dependsOn 'check' 

sourceCompatibility = JavaVersion.VERSION_1_8 
targetCompatibility = JavaVersion.VERSION_1_8 

repositories { 
    maven { url "http://repo.maven.apache.org/maven2" } 
} 

dependencies { 

    compile group: 'javax.validation', name: 'validation-api', version:'1.1.0.Final' 
    compile group: 'org.springframework.security', name: 'spring-security-web', version: "${VERSION_SPRING_SECURITY}" 
    compile group: 'org.springframework.security', name: 'spring-security-config', version: "${VERSION_SPRING_SECURITY}" 

    // Spring dependency injection container: 
    compile (group: 'org.springframework', name: 'spring-context', version:"${VERSION_SPRING}") { 
     exclude(module: 'commons-logging') 
    } 

    compile group: 'javax.inject', name: 'javax.inject', version:'1' 
    compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.10' 
    runtime group: 'org.slf4j', name: 'jcl-over-slf4j', version:'1.7.10' 
    runtime group: 'org.slf4j', name: 'slf4j-log4j12', version:'1.7.10' 
    runtime group: 'org.aspectj', name: 'aspectjrt', version:"${VERSION_ASPECTJ}" 
    runtime group: 'org.aspectj', name: 'aspectjweaver', version:"${VERSION_ASPECTJ}" 

    testCompile group: 'org.springframework', name: 'spring-test', version:"${VERSION_SPRING}" 
    testCompile group: 'junit', name: 'junit', version:'4.12' 



    compile group: 'commons-pool', name: 'commons-pool', version:'1.6' 

    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version:'2.5.1' 
    compile group: 'com.fasterxml.jackson.module', name: 'jackson-module-mrbean', version:'2.5.1' 

} 
} 

project(':server:application'){ 
dependencies { 

    compile(project(':server:services')) { 
     exclude(module: ':server:data-access') 
    } 
    compile group: 'org.springframework', name: 'spring-webmvc', version:"${VERSION_SPRING}" 
    compile project(':server:dto'), project(':server:utils'), project(':server:model') 
} 
} 
+0

Findbugs hiç başarısız değil. ignoreFailures = false (varsayılan değer olsa bile) – Rivi

+0

Sorunu yeniden üreten bir örnek verebilir misiniz? – Opal

+0

build.gradle dosyası eklendi – Rivi

cevap

2

sorunları Findbugs bulur değil "yüksek öncelikli" böcek olup olmadığını açıkça kuruyorsunuz gibi Eh, onlar bildirilmez:

reportLevel = "high" 

Eklendi build.gradle dosyası

Gradle documentation bu konuda net: raporlama hatalar için

öncelik eşiği. Düşük olarak ayarlanırsa, tüm hatalar bildirilir. Orta (varsayılan) olarak ayarlanırsa, orta ve yüksek öncelikli hatalar bildirilir. Yüksek olarak ayarlanmışsa, yalnızca yüksek öncelikli hatalar bildirilir.

yüzden, benim tavsiye sizin findbugs yapılandırmasında bu yapmaktır: Benim için çalışır

ignoreFailures = false 
reportLevel = "low" 

.