2015-07-02 12 views
0

我在我project.The源代碼的一個實施sonarQube是在Java和所有構建文件都寫在gradle這個2.3.My項目在同一個 存儲庫中有8個模塊,我在構建模塊時使用了gradle包裝器。我使用模塊源代碼檢查了每個模塊的gradle包裝器。同時,我觸發構建它檢出gradle版本(在包裝器屬性文件中提到)從artifactory中使用gradlew來構建工件。SonarQube - 如何使用sonarRunner任務/ sonar.properties與全球的gradle封裝文件的所有項目

下面的包裝性能的提檔

Tue Mar 17 10:20:49 EDT 2015 
distributionBase=GRADLE_USER_HOME 
distributionPath=wrapper/dists 
zipStoreBase=GRADLE_USER_HOME 
zipStorePath=wrapper/dists 
distributionUrl=http\://xyx.n.tson.com\:9000/artifactory/ext-release-local/org/gradle/gradle/2.3/gradle-2.3-bin.zip 

同時結帳它會在下面的方式包裝/工作區DIST(使用詹金斯)

wrapper/dists/gradle-2.3-bin/7gkccujig8oqm5bun82efob8m7/gradle-2.3/init.d/ 

現在我要實現的聲納爲此,我需要建立全球sonar.properties文件或更好的添加欄目sonarRunner搖籃任務(包含所有sonar.xx.xx性質)我可以保留所有配置並在全球範圍內使用。我不想爲每個模塊編寫屬性。可以有人告訴我,如果我使用gradle包裝器,我可以保留此屬性文件並使其成爲全局模塊,而不是爲每個模塊更改或創建屬性文件。

+0

作爲正式公佈由Gradleware團隊(請參閱https://twitter.com/gradle/status/613530568655966208),只應使用Gradle SonarQube插件從Gradle啓動一些SonarQube分析:http://docs.sonarqube.org/display/SONAR /分析+ with + Gradle –

回答

0

我會把這個文件放在你的rootproject附近的某個地方,而不是把它與wrapper本身放在一起。我會把它下$rootproject/gradle/sonar/sonar.properties)

從構建腳本,你可以通過

rootproject.file("gradle/sonar/sonar.properties") 

歡呼引用此文件,

+0

即使我運行「sonarRunner」Gradle任務,這項工作是否會完成?如果有人從命令行(或在Jenkins中使用Execute Shell)運行聲納運行器(在項目的工作區中),我認爲這將起作用。我想他想問的是,他怎麼能創建GRADLE_HOME/init.d/a-global.gradle文件,在那裏他可以把他的sonarRunner {...}設置/變量等,它可以提供給每個模塊/項目的構建範圍。當他使用gradlew(包裝器)時,怎麼能這樣做。基本上,那麼我們不需要在每個單獨的項目中或者甚至在根項目中的任何地方登記sonar.properties。 –

0

如果你想要的是激活sonarqube一種非侵入性的方式插件在你的項目(即沒有修改build.gradle),那麼我不知道如何做到這一點。

但是,如果你想辦法通過在全球詹金斯配置(如服務器URL和憑證)到您的構建配置的屬性,那麼你就應該按照這個票,因爲這是一個已知的限制: http://jira.sonarsource.com/browse/SONARJNKNS-217

相關問題