在 SonarQube 中配置 gradle 项目
Posted
技术标签:
【中文标题】在 SonarQube 中配置 gradle 项目【英文标题】:Configure gradle projects in SonarQube 【发布时间】:2018-08-05 04:49:28 【问题描述】:我正在使用 Liferay DXP,我想将 SonarQube 集成到我的工作区中,我正在使用 gradle。
我的工作空间叫做:test-workpace
我的 gradle.properies 文件(路径:test-workspace/gradle.properties)是:
systemProp.sonar.host.url=http://localhost:9000
systemProp.sonar.sourceEncoding=UTF-8
systemProp.sonar.forceAuthentication=true
systemProp.sonar.login=<mytoken>
# Definición de variables para el proyecto.
description = 'Gradle - Sample Project'
group = 'com.test.sonarqube.gradle'
version = '1.0.0'
我的 build.gradle 文件(路径:test-workspace/build.gradle)是:
buildscript
repositories
mavenLocal()
jcenter()
maven
url "https://plugins.gradle.org/m2/"
dependencies
classpath group: "org.sonarsource.scanner.gradle", name:"sonarqube-gradle-plugin", version:"2.5"
group = 'com.test.sonarqube.gradle'
apply plugin: "org.sonarqube"
当我执行“gradle sonarqube”时,所有工作空间都会被扫描,但我想像 SonarQube 中的项目一样配置每个模块。
有人知道如何配置 gradle 文件来做到这一点吗?
非常感谢!
【问题讨论】:
meta.stackexchange.com/questions/141823/… 【参考方案1】:正如 Olaf 指出的:这个问题也被发布到https://web.liferay.com/community/forums/-/message_boards/message/104477676
您可以在 build.gradle
中使用以下内容将所有子项目配置为不同的 SonarQube 项目:
subprojects
sonarqube
properties
property 'sonar.projectName', "$-> project.name"
您还可以设置属性sonar.projectKey
或https://docs.sonarqube.org/display/SONAR/Analysis+Parameters 中的任何其他属性
懒惰评估项目名称的想法来自:How can I make Gradle extensions lazily evaluate properties that are set dynamically by tasks?
【讨论】:
以上是关于在 SonarQube 中配置 gradle 项目的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio 中Gradle配置sonarqube
使用sonarqube gradle插件配置带有子模块的Android项目的正确方法是啥?
Sonarqube:使用自定义 gradle 任务扫描子项目而不是整个项目
gradle、sonarqube 和 jacoco 插件的哪些版本兼容