Android lint在Sonarqube中没有出现任何问题

时间:2017-03-31 08:45:14

标签: android gradle sonarqube sonarlint

我已将我的项目设置为与Sonarqube一起使用。我使用PMD和Checkstyle运行测试,所有这些都成功登录Sonarqube控制台。但是最后一天我决定将Android lint规则添加到我的质量配置文件中。我已在新配置文件中激活所有Lint规则并运行该项目。现在,当我运行项目时,它没有显示此配置文件的任何错误或问题。当我在本地运行lint时,我得到了大约400个问题。我能错过什么?

我在服务器上使用Gradle和Sonarqube 6.2中的Sonarqube插件。我的Sonarqube配置如下

apply plugin: "org.sonarqube"

sonarqube {
//noinspection GroovyAssignabilityCheck
    properties {
//noinspection GroovyAssignabilityCheck
        property "sonar.projectName", "MyProject"
//noinspection GroovyAssignabilityCheck
        property "sonar.projectKey", "Testapplication"
//noinspection GroovyAssignabilityCheck
        property "sonar.projectVersion", "1.0"
//noinspection GroovyAssignabilityCheck
        property "sonar.analysis.mode", "publish"
//noinspection GroovyAssignabilityCheck
        property "sonar.language", "java"
//noinspection GroovyAssignabilityCheck
        property "sonar.sources", "src/main/"
//noinspection GroovyAssignabilityCheck
        property "sonar.profile", "FindBugs"
//noinspection GroovyAssignabilityCheck
        property "sonar.host.url", "http://192.168.21.33:9000"
//noinspection GroovyAssignabilityCheck
        property "sonar.login", "admin"
//noinspection GroovyAssignabilityCheck
        property "sonar.password", "admin"
        property "sonar.exclusions","es.miguelprietos.testapplication/R.java"
        property "sonar.android.lint.report", "build/outputs/lint-results.xml"
        property "sonar.binaries", "build/intermediates/classes/debug"
        property "sonar.java.binaries", "build/intermediates/classes/debug"


    }
}

我使用下面的命令来运行我的Sonar任务(没有参数)。

 ./gradlew sonarqube

我的Gradle中配置的Lint选项如下所示

   lintOptions {
        // set to true to turn off analysis progress reporting by lint
        quiet true
        // if true, stop the gradle build if errors are found
        abortOnError false
        // if true, only report errors
        ignoreWarnings true
    }

2 个答案:

答案 0 :(得分:1)

尽量不要忽略警告:

lintOptions {
    // set to true to turn off analysis progress reporting by lint
    quiet true
    // if true, stop the gradle build if errors are found
    abortOnError false
    // do not ignore warnings
    warningsAsErrors true
}

答案 1 :(得分:1)

我认为“./gradlew lint”正是您所寻找的。 如此处所述,它将生成缺少的XML报告。 要小心,它可以为每个构建变体生成一个报告(默认情况下,Debug将生成build / outputs / lint-results-debug.xml)。所以你可以调用lintDebug,lintRelease ...依赖你的构建变体。

然后根据生成的文件更改报告文件名。