Android Studio 中Gradle配置sonarqube

Posted 豆耳朵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio 中Gradle配置sonarqube相关的知识,希望对你有一定的参考价值。

Sonarqube作为一个很实用的静态代码分析工具,在很多项目中都使用。android自然也不例外。这里就分享下使用Android Studio时如何在Gradle里配置Sonarqube。

以下分别就使用公共maven仓库和私有maven仓库两种情况来简单说明下:

 

一,使用公共Maven仓库:

这个比较简单。

打开gradle sonarqube插件官方网址:https://plugins.gradle.org/plugin/org.sonarqube

可以看到有两种方式集成sonarqube插件,可以选择适合的方式:

1:所有gradle插件版本适用:

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2"
  }
}

apply plugin: "org.sonarqube"

 

2:gradle插件版本2.1以上适用:

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

 

二,使用私有Maven仓库:

无法使用上面的第2种方法了,因为这样写gradle会把它认为是core plugin,默认解析成

https://plugins.gradle.org/api/gradle/2.14.1/plugin/use/org.sonarqube/2.2

我们在浏览器打开这个网址,会发现是个Json:

{
  "id" : "org.sonarqube",
  "version" : "2.2",
  "implementation" : {
    "gav" : "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2",
    "repo" : "https://plugins.gradle.org/m2"
  },
  "implementationType" : "M2_JAR",
  "legacy" : true
}

发现它是在https://plugins.gradle.org/m2里根据“org.sonarqube”这个id找相应插件,而我们需要的是在自己的私服仓库里找插件,显然这是不合适的。

因此,只能使用上面第1种方法了:

 技术分享

将这一段放入module的build.gradle里,另外加上task:

sonarqube {
        properties {
              property "sonar.sources", "src"
              property "sonar.java.binaries", "build/intermediates/classes"
              property "sonar.test.binaries", "build/intermediates/classes"
              ...//  加入你需要的配置
        }
}    


这样当在配置好你的sonar host:

systemProp.sonar.host.url=https://xxxx:9000/

运行:

gradle sonarqube

稍等片刻,当出现build successfully,就能在sonar portal上看到代码的情况了。

 


以上是关于Android Studio 中Gradle配置sonarqube的主要内容,如果未能解决你的问题,请参考以下文章

android studio怎么配置gradle

Android Studio中Gradle使用详解

android studio 怎么配置gradle

怎么配置android studio 的gradle版本

Android Studio 出现 Gradle's dependency cache may be corrupt 解决方案

Android studio Gradle配置通用配置