在SonarQube中配置gradle项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SonarQube中配置gradle项目相关的知识,希望对你有一定的参考价值。

我正在使用Liferay DXP,我想在我的工作区中集成SonarQube,我正在使用gradle。

我的工作空间称为:test-workspace

我的gradle.properties文件(路径: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文件吗?

非常感谢你!

答案

正如奥拉夫所指出的那样:这个问题也发布在https://web.liferay.com/community/forums/-/message_boards/message/104477676

您可以将所有子项目配置为不同的SonarQube项目,并在build.gradle中添加以下内容:

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 任务扫描子项目而不是整个项目

sonarqube扫描安卓代码

gradle、sonarqube 和 jacoco 插件的哪些版本兼容

Sonarqube 对 Spring Boot gradle 项目的覆盖率为 0%