【问题标题】:Issue with integrating SonarQube with android project将 SonarQube 与 android 项目集成的问题
【发布时间】:2017-03-14 19:47:24
【问题描述】:

我正在尝试将 sonarqube 集成到我的 android 项目中。下面是我的根 build.gradle

我正在尝试遵循这里提到的内容 - http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+GradleAnalyzing Android Project with Lint and SonarQube

    plugins {
    id "org.sonarqube" version "2.2"
}

sonarqube {
    properties {
        property "sonar.profile", "Android Lint"
        property "sonar.sources", "./src/main/java"
        property 'sonar.host.url', '<sonar_qube_server_url>'
        property 'sonar.sourceEncoding', 'UTF-8'
        property 'sonar.import_unknown_files', true
        property 'sonar.android.lint.report', 'build/outputs/lint-results.xml'
    }
}

我从项目根目录下运行 -

./gradlew sonarqube

下面的错误被抛出 -

Observed package id 'add-ons;addon-google_apis-google-19' in inconsistent location '/Users/<username>/Library/Android/sdk/add-ons/addon-google_apis-google-19-1' (Expected '/Users/<username>/Library/Android/sdk/add-ons/addon-google_apis-google-19')
Observed package id 'add-ons;addon-google_apis-google-19' in inconsistent location '/Users/<username>/Library/Android/sdk/add-ons/addon-google_apis-google-19-1' (Expected '/Users/<username>/Library/Android/sdk/add-ons/addon-google_apis-google-19')
Observed package id 'add-ons;addon-google_apis-google-19' in inconsistent location '/Users/<username>/Library/Android/sdk/add-ons/addon-google_apis-google-19-1' (Expected '/Users/<username>/Library/Android/sdk/add-ons/addon-google_apis-google-19')
Observed package id 'add-ons;addon-google_apis-google-19' in inconsistent location '/Users/<username>/Library/Android/sdk/add-ons/addon-google_apis-google-19-1' (Expected '/Users/<username>/Library/Android/sdk/add-ons/addon-google_apis-google-19')
Incremental java compilation is an incubating feature.

FAILURE: Build failed with an exception.

* What went wrong:
com/android/build/gradle/api/BaseVariant
> com.android.build.gradle.api.BaseVariant

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

请帮助了解这里出了什么问题。

【问题讨论】:

  • 请使用 --stacktrace 显示输出。您使用的是什么版本的 Gradle?

标签: android gradle android-gradle-plugin sonarqube sonarqube-scan


【解决方案1】:

尝试使用此文件:

sonarqube.gradle:

apply plugin: "org.sonarqube"

sonarqube {

    properties {

        property "sonar.projectName", "appa"

        property "sonar.projectKey", "appa_app"

        property "sonar.projectVersion", "1.0"

        property "sonar.analysis.mode", "publish"

        property "sonar.language", "java"

        property 'sonar.sourceEncoding', "UTF-8"

        property "sonar.sources", "./src/main"

        //property "sonar.exclusions", "**/*Entity.java"

      //  property "sonar.exclusions", "src/main/java/com/apparkb/model/**, **/*Entity.java"

        property "sonar.host.url", "http://192.168.21.33:9000"

        property "sonar.login", "admin"

        property "sonar.profile", "testlint"

        property 'sonar.import_unknown_files', true

        property "sonar.android.lint.report", "./build/outputs/lint-results-debug.xml"

        property "sonar.password", "admin"

        property "sonar.java.binaries", "build/"



    }
}

根据您的需要更改属性并使用您的质量配置文件

然后在你的项目 build.gradle 中添加 maven 插件并添加如下所示的依赖项

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        maven { url 'https://plugins.gradle.org/m2/' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'
        classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:1.2"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

之后运行

./gradlew sonarqube 

这对我有用,希望对你有帮助。

如果是具有多个模块的项目,请在此链接中参考我的答案:

What is the correct way to configure an Android project with submodules for use with the sonarqube gradle plugin?

【讨论】:

    【解决方案2】:

    能够找出问题所在。我正在为 gradle 使用 2.2v 的 sonarqube 插件,这与我的 gradle 版本不兼容。将插件版本更改为 2.0v 并开始工作,没有任何问题。

    【讨论】:

      猜你喜欢
      • 2019-07-23
      • 2015-10-31
      • 2019-10-24
      • 1970-01-01
      • 1970-01-01
      • 2016-10-22
      • 2020-12-13
      • 2017-08-04
      • 2015-08-10
      相关资源
      最近更新 更多