Findbugs Gradle Plugin Will Not Fail Build

I am trying to use the findbugs plugin in the build.gradle file so as not to build the developers personal assembly, but it does not work. Although the plugin generates reports, the assembly will not work. I tried to "play" with the ignoreFailures property, but that didn't work either.

I used this answer How to write a custom gradle task so as not to ignore Findbugs violations, but failed after the analysis was completed , and it worked, but I don’t like β€œI like to parse reports and it looks like a hack.

Is there a simple way (for example, "ignoreFailures") to refuse to build gradle with findbugs? Is there another suitable basis for this?

Added build.gradle file:

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') } } 
+5
source share
1 answer

Well, if the detected Findbugs problems are not high-priority errors, they will not be displayed, as you explicitly install:

 reportLevel = "high" 

The gradle documentation clearly states that:

Priority threshold for error reporting. If set to low, all errors are reported. If set to Medium (default), Medium and High Priority messages are displayed. When set to high, only messages with high priority are reported.

So my recommendation is to do this in your search configuration:

 ignoreFailures = false reportLevel = "low" 

This works for me.

+2
source

Source: https://habr.com/ru/post/1215121/


All Articles