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上看到代碼的情況了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM