我正在一个大型的多模块 java maven 项目中工作,我的工作是在构建后在 bitbucket
的拉取请求中设置报告 sonarQube
问题。
我已经根据项目结构创建了sonar-project.properties
,并在jenkins
中设置了作业,到目前为止工作正常。
现在的问题是,由于这是许多其他项目的父项目,因此项目中不断添加许多新模块/子模块。每次有新模块时,都必须相应地修改 sonar-project.properties
。虽然这是预料之中的,但有时会被遗忘。
这就是我想到的原因,有没有办法在声纳扫描仪开始执行之前动态生成sonar-project.properties
。
这是我们正在遵循的项目结构。
project-root/
moduleA/
.
.
moduleB/
submoduleOfmoduleB/
moduleC/
submoduleOfmoduleC
.
有没有办法通过读取pom文件或其他方式生成sonar-project.properties
?
最佳答案
您根本不需要使用sonar-project.properties
。您可以使用 sonar-maven-plugin在您的 pom 中添加一些标准属性,并且新项目会自动添加。
我们使用以下设置
<sonar.host.url>http://sonar:9000</sonar.host.url>
<sonar.junit.reportsPath>target/surefire-reports</sonar.junit.reportsPath>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.jacoco.reportPaths>target/coverage-reports/jacoco-ut.exec, target/coverage-reports/jacoco-it.exec</sonar.jacoco.reportPaths>
<sonar.exclusions>file:**/generated-sources/**,file:**/pom.xml,file:**/node_modules/**</sonar.exclusions>
关于java - 动态生成声纳 sonar-project.properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46465072/