gpt4 book ai didi

gradle - Sonarqube 如何正确配置 gradle 子项目?

转载 作者:行者123 更新时间:2023-12-03 03:05:28 30 4
gpt4 key购买 nike

我的 gradle 项目结构如下所示:

geode-core
geode-lucene
extensions/geode-modules
extensions/geode-modules-session

对于 extensions 子项目,gradle 任务将因此被引用为 extensions/geode-modules:build 例如。

当我尝试在 Gradle 中使用 SonarQube 时,出现以下错误(这是 1.2 SonarQube Gradle 插件):

Validation of project reactor failed:
o "io.pivotal.gemfire:extensions/geode-modules" is not a valid project or module key. Allowed characters are alphanumeric, '-', '_', '.' and ':', with at least one non-digit.
o "io.pivotal.gemfire:extensions/geode-modules-session" is not a valid project or module key. Allowed characters are alphanumeric, '-', '_', '.' and ':', with at least one non-digit.

所以模块名称中的 / 引起了问题。为了修复它,我尝试按照此线程上的解决方案进行操作:http://sonarqube-archive.15.x6.nabble.com/Is-not-a-valid-project-or-module-key-when-Upgrade-sonar-3-0-to-4-0-td5021412.html

我的 gradle 配置现在看起来像这样:

sonarqube {
properties {
property "sonar.modules", "extensions.geode-modules"
...
property "extensions.geode-modules.sonar.projectName", "geode-modules"
property "extensions.geode-modules.sonar.sources", "src/main/java"
}
}

同样的错误。此外,这也不起作用:

sonarqube {
properties {
property "sonar.modules", "extensions/geode-modules"
...
property "extensions/geode-modules.sonar.projectName", "geode-modules"
property "extensions/geode-modules.sonar.sources", "src/main/java"
}
}

关于如何让它正常工作有什么想法吗?

最佳答案

通用方法是替换模块名称中的所有斜杠。这样,您就不需要配置各种属性。将此部分添加到您的根 build.gradle 文件中:

subprojects {

sonarqube {
String regex = "(.*)/(.*)"
String projectKey = project.name.replaceAll(regex, "\$1:\$2")
String sonarModuleKey = rootProject.group + ':' + rootProject.name + ':' + projectKey

properties {
property "sonar.moduleKey", sonarModuleKey
}
}
}

关于gradle - Sonarqube 如何正确配置 gradle 子项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35851738/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com