Monday, August 29, 2016

Error with Gradle Build SonarQube Plugin Registering Findbugs Plugin

How to Fix the Error: Unable to register extension org.sonar.plugins.findbugs.FindbugsConfiguration when Running Gradle sonarqube task



Using Gradle, Sonarqube and Findbugs you may get the following error when you try to execute the command:

./gradlew clean build sonarqube


Here is the error:

FAILURE: Build failed with an exception.
* What went wrong:Execution failed for task ':sonarqube'.> Unable to register extension org.sonar.plugins.findbugs.FindbugsConfiguration
* Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED


Root Cause


This bug seems to occur when there is a mismatch of versions that don't play nice together.

For instance here are the versions of our stack:

  • Sonar Version: 5.3
  • SonarQube Gradle Plugin:  2.0.1

Update Findbugs plugin on Sonar:


First, we had to update our Sonar server:


Navigate to the Update Center
Navigate to the Sonar Update Center to update the findbugs plugin
Navigate to the Sonar Update Center



Update the findbugs plugin and restart the sonar instance
Update findbugs plugin and restart sonar
Update findbugs plugin

Update your Gradle Dependencies:



Update the sonarqube Gradle Plugin

Update sonarqube dependency

 
dependencies {
     classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.1-rc1"
}


Update sonar version
 
sonarqube {
     version='2.1-rc1'
}

Update sonar-findbugs-plugin

dependencies {
     compile: 'org.codehaus.sonar-plugins.java', name: 'sonar-findbugs-plugin', version: '3.2'
}



Update Findbugs

Update findbugs dependency
dependencies {
     compile: 'com.google.code.findbugs', name: 'findbugs', version: '3.0.1'
}

Update Findbugs version
findbugs {
     toolVersion = "3.0.1"
     ignoreFailures = true
     sourceSets = [ project.sourceSets.main ]
}