在SonarQube中配置Gradle项目

ux6nzvsh  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(311)

我正在使用Liferay DXP,我想在我的工作空间中集成SonarQube,我正在使用Gradle。
我的工作区名为:测试工作空间
我的gradle.properies文件(路径:测试工作区/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文件来做到这一点吗?。
非常感谢!

f4t66c6m

f4t66c6m1#

正如奥拉夫所指出的:此问题也已发布到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?

相关问题