標籤:json div javascrip sys api sources 無法 http ann
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