gradle - 在 SonarQube 中配置 gradle 项目

标签 gradle sonarqube liferay sonarqube-scan

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

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

我的 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 文件来做到这一点吗?

非常感谢你!

最佳答案

正如奥拉夫指出的那样:这个问题也发布到 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 的任何其他属性(property)

懒惰评估项目名称的想法来自:How can I make Gradle extensions lazily evaluate properties that are set dynamically by tasks?

关于gradle - 在 SonarQube 中配置 gradle 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48976502/

相关文章:

android - 当我添加工具时发生了什么 :replace ="android:appComponentFactory"

grails - 用于 Sonar 的 Groovy/Grails 插件

liferay - <aui :script> block内的"A is not defined"

jsp - Liferay 中包含数据库值的下拉列表显示为空

java - 如何从android项目中完全卸载Twitter的Fabric SDK?

kotlin - Android Studio:Gradle同步失败:无法下载修补程序

java - 从自定义 Gradle Java 插件应用 gradle 插件(容易出错)

java - 尽管排除了测试类,SonarCloud 显示了测试类的覆盖范围

mysql - 配置 Sonar 以与 mysql 一起使用

sdk - 在liferay中使用SDK插件创建portlet的问题