即时生成声纳 sonar-project.properties
generate sonar sonar-project.properties on the fly
我在一个大型多模块 java maven 项目中工作,我的工作是在构建后 bitbucket
的拉取请求中设置报告 sonarQube
问题。
我已经根据项目结构创建了 sonar-project.properties
,在 jenkins
中设置了作业,目前一切正常。
现在的问题是,由于这是许多其他项目的父项目,所以很多都是新项目 modules/sub-modules 不断添加到项目中。每次有新模块时,sonar-project.properties
都必须进行相应的修改。虽然这是预料之中的,但有时会被遗忘。
这就是我在想的原因,有没有办法在声纳扫描仪开始执行之前动态生成 sonar-project.properties
。
这是我们遵循的项目结构。
project-root/
moduleA/
.
.
moduleB/
submoduleOfmoduleB/
moduleC/
submoduleOfmoduleC
.
有没有办法通过读取 pom 文件或其他方式生成 sonar-project.properties
?
您根本不需要使用 sonar-project.properties
。您可以在 pom 中使用带有一些标准属性的 sonar-maven-plugin,新项目会自动添加。
我们使用以下设置
<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 maven 项目中工作,我的工作是在构建后 bitbucket
的拉取请求中设置报告 sonarQube
问题。
我已经根据项目结构创建了 sonar-project.properties
,在 jenkins
中设置了作业,目前一切正常。
现在的问题是,由于这是许多其他项目的父项目,所以很多都是新项目 modules/sub-modules 不断添加到项目中。每次有新模块时,sonar-project.properties
都必须进行相应的修改。虽然这是预料之中的,但有时会被遗忘。
这就是我在想的原因,有没有办法在声纳扫描仪开始执行之前动态生成 sonar-project.properties
。
这是我们遵循的项目结构。
project-root/
moduleA/
.
.
moduleB/
submoduleOfmoduleB/
moduleC/
submoduleOfmoduleC
.
有没有办法通过读取 pom 文件或其他方式生成 sonar-project.properties
?
您根本不需要使用 sonar-project.properties
。您可以在 pom 中使用带有一些标准属性的 sonar-maven-plugin,新项目会自动添加。
我们使用以下设置
<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>