我有这个构建系统
- 2.14级
- SonarQube
- sonarqube gradle插件2.0.1
我的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运行。
但我看到的问题并不是问题,比如"未使用的私有构造函数"。在我升级到5.6.和sonarqube插件之前,这并不是一个问题。看起来好像.class文件不会被检查。有人对Gradle/SonarQube和Android有同样的问题吗?
这与您的扫描方法无关。这是关于正在使用的Java插件的版本。我敢打赌,当你升级SonarQube时,你也会有意或无意地升级Java插件。
语言插件的每个新版本都引入了新规则,通常还会改进底层检测方法。或者至少这就是目的。的确,在前进两步的过程中,他们有时会后退一步。
如果你觉得自己看到了误报(正如你在评论中所指出的),你应该在SonarQube谷歌小组提出。