Próbuję użyć wtyczki findbugs w pliku build.gradle, aby nie zawieść osobistej kompilacji programisty, ale nie działa. Mimo że wtyczka tworzy raporty, kompilacja nie zawiedzie. Próbowałem "odtwarzać" z właściwością ignoreFailures, ale to też nie działało dobrze.Wtyczka programu Findbugs Gradle nie zawiedzie budowania
Użyłem tej odpowiedzi How to write a customized gradle task to not to ignore Findbugs violations but fail after the analysis is completed i działało, ale nie lubię analizować raportów i wydaje mi się, że to hack.
Czy nie ma prostego sposobu (jak powinno być "ignoreFailures"), aby nie powielać kompilacji Gradle za pomocą findbugs? Czy istnieją inne odpowiednie ramy, aby to zrobić?
Dodany plik build.gradle:
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')
}
}
Findbugs wcale nie zawodzi. nawet jeśli ignoreFailures = false (choć jest to domyślne) – Rivi
Czy możesz podać przykład odwzorowujący problem? – Opal
Dodano plik build.gradle – Rivi