对于我们的代码分析,我希望每个maven模块都有一个声纳项目 . 目前,我从父母pom获得了一个声纳项目 .
对于我的Jenkins作业配置,我使用SonarQube Scanner for Maven(link)和 sonar-project.properties
.
# Root project information
sonar.projectKey=org.mycompany.myproject
sonar.projectName=My Project
sonar.projectVersion=1.0
# Some properties that will be inherited by the modules
sonar.sources=src
# List of the module identifiers
sonar.modules=module1,module2
因此,我的声纳的预期结果将是 module1
的项目和 module2
的项目2 . module1
和 module2
都是具有一个父pom的maven模块 .
myproject
|
->module1
|
->pom.xml (Sonar Project ONE)
->module2
|
->pom.xml (Sonar Project TWO)
->pom.xml
在 one jenkins作业中配置此行为的最佳方法是什么 .
1 回答
如果要将所有模块存储为独立项目,则无法指定
sonar.modules
并使用SonarQube Scanner for Maven . Maven扫描程序用于创建子模块(与pom.xml
文件中定义的结构相同) .你能做什么:
由Maven构建所有模块
在每个模块的根目录中生成一个带有内容的
sonar-project.properties
文件:sonar-scanner
这是非常不推荐的,因为:
使您的项目可读性降低(模块不是"connected")
执行分析要困难得多(您必须生成所有属性,在标准情况下由SonarQube Scanner for Maven生成)