- Gradle build : com.android.tools.build:gradle:4.0.2
- Sonar version : org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.1
FAILURE: Build failed with an exception.
What went wrong:
com/android/build/gradle/api/BaseVariant > com.android.build.gradle.api.BaseVariant
Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Exception is:
java.lang.NoClassDefFoundError: com/android/build/gradle/api/BaseVariant
at org.sonarqube.gradle.SonarQubePlugin.lambda$null$12(SonarQubePlugin.java:130)
at org.sonarqube.gradle.SonarQubePlugin.lambda$getAndroidCompileTasks$13(SonarQubePlugin.java:145)
at org.gradle.util.GUtil.uncheckedCall(GUtil.java:425)
Caused by: java.lang.ClassNotFoundException: com.android.build.gradle.api.BaseVariant
... 120 more
Get more help at https://help.gradle.org
BUILD FAILED in 489ms
- Create a file named sonar.gradle.
Add this :
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.1"
}
}
apply plugin: org.sonarqube.gradle.SonarQubePlugin
sonarqube {
properties {
property "sonar.sourceEncoding", "UTF-8"
property "sonar.projectKey", "$moduleInfo.name"
property "sonar.projectName", "$moduleInfo.displayName"
property "sonar.projectDescription", "$moduleInfo.description"
property "sonar.coverage.jacoco.xmlReportPaths", "build/reports/jacoco/testEnvprodReleaseUnitTestCoverage/testEnvprodReleaseUnitTestCoverage.xml"
property "sonar.projectVersion", moduleVersionName
}
}
Use code sonarqube into an external gradle file and call it using “apply from” in the app gradle file
apply from: "sonar.gradle"
- put everything in the app gradle file