SonarQube 5.6 Android Gradle

SonarQube 5.6 Android Gradle

我有这个构建系统

我的 sonarqube.properties 看起来像这样:

 property "sonar.host.url", "http://myserver"
 property "sonar.login", "mylogin"
 property "sonar.sourceEncoding", "UTF-8"
 property "sonar.projectVersion", project.ext.sonarVersion
 property "sonar.java.source", "1.7"
 property "sonar.java.target", "1.7"
 property "sonar.sources", "src/main/java"
 property "sonar.exclusions", "src/generated/**"

 if (file("$projectDir/src/test/java").exists()) {
   property "sonar.tests", "$projectDir/src/test/java"
 }
 if (file("$projectDir/build/intermediates/classes/debug/").exists()) {
   property "sonar.java.binaries", "$projectDir/build/intermediates/classes/debug/"
   property "sonar.binaries", "$projectDir/build/intermediates/classes/debug/"
 }
 if (file("$projectDir/build/test-results/debug/").exists()) {
   property "sonar.junit.reportsPath", "$projectDir/build/test-results/debug/"
 }
 def sonarLibraries = configurations.compile.join(",")
 property 'sonar.libraries', sonarLibraries
 property 'sonar.java.libraries', sonarLibraries

 property 'import_unknown_files', true

./gradlew sonarqube -Dsonar.password=xxx 运行。

但我看到的不是问题的问题,例如 "unused private constructor"。在我升级到 5.6.1 和 sonarqube 插件之前,这不是问题。似乎不会检查 .class 文件。 有人对 Gradle/SonarQube 和 Android 有同样的问题吗?

这与您的扫描方式无关。这是关于正在使用的 Java 插件的版本。我敢打赌,当您升级 SonarQube 时,您也有意或无意地升级了 Java 插件。

语言插件的每个新版本都会引入新规则,并且通常会改进底层检测方法。或者至少那是意图。确实有进两步后退一步的情况。

如果您觉得自己看到了误报(正如您在评论中指出的那样),您应该在 SonarQube Google Group 上提出它们。