gpt4 book ai didi

java - sonar-project.properties 中的 Glob

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:23:16 33 4
gpt4 key购买 nike

我正在处理一个大型遗留项目,我试图将其组件化,从 SonarQube 开始。我正在 sonar-project.properties 中配置一个多模块项目。这很好用。但是,我在精确识别源文件夹时遇到了问题。

不幸的是,我们的模块在文件系统中并没有整齐地分开。项目分为多个Eclipse项目,多个Eclipse项目共同组成一个模块。我当然可以列举所有的项目,但是这样很麻烦,因为项目太多了。这是我们的目录结构的(简化)版本:

projects/
moduleAsubmodule1/
src/
com/mycompany/moduleA/submodule1/
moduleAsubmodule2/
src/
com/mycompany/moduleA/submodule2/
moduleBsubmodule1/
src/
com/mycompany/moduleB/submodule1/
moduleBsubmodule2/
src/
com/mycompany/moduleB/submodule2/
moduleBsubmodule3/
src/
com/mycompany/moduleB/submodule3/

想象更多的模块和子模块,其中项目名称被串联在一起,但包名称被很好地划分,使得它们更容易区分。

moduleA.sonar.projectBaseDir=.
moduleA.sonar.sources=projects/**/src/com/mycompany/moduleA/**/*
moduleA.sonar.test=projects/**/*.test/src/com/mycompany/moduleA/**/*

根据 the documentation ,这应该可以排除。但是,我收到以下错误消息:

16:10:44 ERROR: Unable to execute Sonar
16:10:44 ERROR: Caused by: The folder 'projects/**/src/com/mycompany/mymodule/**/*' does not exist for 'XXX:XXX:mymodule' (base directory = D:\XxxSonar\.)

所以我猜 glob 不适用于源代码?如果确实如此,我该怎么办?

我们使用 SonarQube 4.1.2。

最佳答案

我遇到了同样的问题,但我是这样解决的:

sonar.sources=.
sonar.inclusions=projects/*/src/**/*

包含/排除属性支持通配符。与您的测试相同:

sonar.test.inclusions=projects/*/*.test/src/**/*

关于java - sonar-project.properties 中的 Glob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25810607/

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