SonarQube - 如何全局使用sonarRunner tasks / sonar.properties文件,并为所有项目使用gradle包装器

时间:2015-07-02 18:04:29

标签: unit-testing gradle sonarqube code-coverage

我正在我的一个项目中实现sonarQube。源代码在java中,所有构建文件都是用gradle 2.3编写的。我的项目有8个模块在同一个 存储库和我在构建模块时使用gradle包装器。我使用模块源代码检查每个模块的gradle包装器。然后我触发构建它从工件检查gradle版本(在包装器属性文件中提到)并使用gradlew构建神器。

包装属性文件

中提到了以下内容
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(使用Jenkins)

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

现在我想实现声纳,为此我需要创建全局sonar.properties文件或者更好地为 sonarRunner Gradle任务添加一个部分(包含所有 sonar.xx.xx 属性)我可以保留所有配置并在全局范围内使用它。我不想为每个模块编写属性。有人告诉我,如果我使用gradle包装器,我可以保留此属性文件并使其为所有模块全局,而不是为每个模块更改或创建属性文件。

2 个答案:

答案 0 :(得分:0)

我会将此文件放在您的根项目附近,而不是将其与包装器本身放在一起。我会把它放在$rootproject/gradle/sonar/sonar.properties)

之下

从您的构建脚本中,您可以通过

引用此文件
rootproject.file("gradle/sonar/sonar.properties")

欢呼声,

答案 1 :(得分:0)

如果你想要的是一个非侵入性的方式来激活你的项目上的sonarqube插件(即没有修改build.gradle),那么我不知道如何做到这一点。

但是如果您想要一种方法将全局Jenkins配置中配置的属性(如服务器URL和凭据)传递给您的构建,那么您应该遵循此票证,因为这是一个已知的限制: http://jira.sonarsource.com/browse/SONARJNKNS-217