有没有办法在Sonar中为一个项目提供多个配置文件?
例如,我们有一个Java EE项目:EJB和WebApp(JSP和Back Bean)。 我们有3个质量配置文件:Java,Web和XML。为了在我们的项目中“执行”这3个配置文件,我们运行三个声纳分析并在Sonar中创建3个结果项目。
我们使用视图重新组合这三个项目,有没有办法让一个项目使用3个配置文件而不使用视图?
我们希望使用视图对不同的项目进行分组,而不是在同一个项目中。
答案 0 :(得分:12)
您不能为同一个项目提供多个配置文件。但是如果你想要这个,你只需要创建自己的自定义配置文件,其中包含在配置文件中定义的所有规则。例如,让我们说你有质量档案" Android Lint"和#34; Sonar Way",如果您不想针对这两个配置文件检查您的项目,请执行以下操作:
您现在拥有自己的自定义质量配置文件,其中包含您需要的所有规则。
<强>更新强> 在SonarQube的最新版本中(我使用的是6.2),您可以使用&#34;继承&#34;的概念。结合多个质量配置文件。您现在可以为任何配置文件设置父质量配置文件。使用此功能,您可以链接多个质量配置文件。
答案 1 :(得分:2)
无法为一个项目应用多个配置文件。
我看到两种选择:合并您已经提到的配置文件,或者在不同的“分支”下扫描同一个项目(如SonarQube术语中所示)。
对于不同分支下的扫描,请参阅sonar quality profile to project association。请注意,maven调用的语法实际上是错误的,请改用它:
mvn ... -Dsonar.profile="Your profile name" -Dsonar.branch=YOUR BRANCH
使用此选项将创建一个名称相同的新项目以及作为postfix的分支。 (PROJECTNAME:分支名称)
关于两个配置文件的合并,最简单的方法是在规则标签中:
这将自动合并两组并防止冗余。
答案 2 :(得分:1)
只需扩展上述@guitarium的答案即可:
对于SonarQube 7,您只需在SonarQube Web门户上执行以下操作即可将其他配置文件中的额外规则添加到自定义配置文件中(实际上与合并相同):