gpt4 book ai didi

maven - 如何配置 Maven 以运行具有两个不同质量配置文件的 SonarQube 项目分析?

转载 作者:行者123 更新时间:2023-12-03 14:06:19 24 4
gpt4 key购买 nike

我们通过 Maven 为我们的 Java 项目运行 SonarQube 分析。 Maven 以某种方式自动执行此操作;我们所做的只是添加 sonar-maven-plugin到我们的 pom.xml:

<pluginManagement>
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</pluginManagement>

这工作正常。

但现在我们需要使用不同的质量配置文件运行两次 SonarQube 分析。由于您无法从 Maven 轻松更改项目 key ,因此我们使用 SonarQube 的 branch属性来区分 SonarQube 项目,如下所示(再次来自 pom.xml):

<properties>
<sonar.profile>MyQualityProfile1</sonar.profile>
<sonar.branch>Dev_${sonar.profile}</sonar.branch>
...
</properties>

这样,我们最终会在 SonarQube UI 中得到两个项目条目,它们都包含完全相同的代码,但根据它们的质量配置文件(一个使用质量配置文件 1,另一个使用质量配置文件 2)有不同的问题。

问题:为了实现这一点,我必须手动更改 pom.xml 属性并运行整个构建两次。

问题:如何配置 maven 以简单地运行 sonar:sonar目标两次具有不同的属性?

这将为我们节省大量的构建时间。我已经找到 this similar question ,但目前还没有答案。谢谢!

最佳答案

扩展 Eldad AK 关于配置文件的先前答案:
创建两个 Maven 配置文件,如下所示:

<properties>
<sonar.branch>Dev_${sonar.profile}</sonar.branch>
</properties>

<profiles>
<profile>
<id>QualityProfileOne</id>
<properties>
<sonar.profile>MyQualityProfile1</sonar.profile>
</properties>
</profile>
<profile>
<id>QualityProfileTwo</id>
<properties>
<sonar.profile>MyQualityProfile2</sonar.profile>
</properties>
</profile>
</profiles>

Then run the following:

$ mvn clean install -DskipTests
$ mvn sonar:sonar -PQualityProfileOne
$ mvn sonar:sonar -PQualityProfileTwo

(you may need to perform a clean between running sonar, not sure)

关于maven - 如何配置 Maven 以运行具有两个不同质量配置文件的 SonarQube 项目分析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22068919/

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