对于我们的代码分析,我希望每个maven模块都有一个声纳项目。 目前我从父母pom那里得到了一个声纳项目。
对于我的Jenkins作业配置,我使用SonarQube Scanner for Maven(link)和A(){}
。
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
的项目2。 module2
和module1
都是具有一个父pom的maven模块。
module2
在一个 jenkins作业中配置此行为的最佳方法是什么。
答案 0 :(得分:2)
如果要将所有模块存储为独立项目,则无法指定sonar.modules
并使用SonarQube Scanner for Maven。 Maven扫描程序用于创建子模块(与pom.xml
文件中定义的结构相同)。
你能做什么:
在每个模块的根目录中生成一个内容为sonar-project.properties
的文件:
sonar.projectKey=<project.groupId>:<project.artifactId>
sonar.projectName=<project.name>
sonar.projectVersion=<project.version>
sonar.sourceEncoding=<project.build.sourceEncoding>
sonar.sources=pom.xml,src/main
sonar.tests=src/test
sonar.java.binaries=<project.build.directory>/classes
sonar.java.libraries=<list of all compile and provided libraries>
sonar.java.test.binaries=<project.build.directory>/classes
sonar.java.test.libraries=<list of all compile, provided and test libraries>
sonar-scanner
非常不推荐这样做,因为: