我有一个Console项目,想要禁用它上面的规则Console logging should not be used
。
但似乎MSBuild没有在项目配置(sonar.issue.ignore.multicriteria
)中添加这些排除项(在Agent日志中找到任何内容,或.sonarqube日志)。
规则键模式:csharpsquid:S2228
文件路径模式:**/MyProject/**/*.*
我是否必须拥有配置文件或MSbuild应该检索项目的Sonar配置?
对于第一个项目,跑步者尝试获取服务器规则:
2016-01-29T08:37:36.3162048Z 09:37:36.217 INFO - ------------- Scan FisrtProject
2016-01-29T08:37:36.3172057Z 09:37:36.288 INFO - Load server rules
2016-01-29T08:37:36.8185565Z 09:37:36.629 INFO - Load server rules (done) | time=341ms
但不是其他人。我知道,因为跑步者已经为此规则和此文件传递了一次,这些默认值不会自动删除,但是我应该找到关于此的日志吗?
我尝试更改sonar.global.exclusions
和sonar.exclusions
,他们是由跑步者找到的。
答案 0 :(得分:0)
sonar.exclusions / sonar.global.exclusions不是您想要使用的。它们用于从分析中排除文件,而不是规则。 要排除专门针对项目的规则,您必须在SonarQube中定义质量配置文件并从配置文件中删除该规则,并将该质量配置文件分配给项目。您可以复制新标准配置文件并删除新配置文件,或使用更灵活的质量配置文件继承机制(控制台应用程序的QP继承自默认QP减去csharpsquid:S2228规则) 然后像往常一样运行分析。
答案 1 :(得分:0)
SonarQube.Issue。*属性都不能由命令行设置,因为它们是多值的。请在此处找到官方documentation。
You can have SonarQube ignore issues on certain components and against certain coding rules. Go to Administration > General Settings > Analysis Scope > Issues.
Note that the properties below can only be set through the web interface because they are multi-valued.
这些是SonarQube问题属性:
如果要为所有SonarQube项目全局设置此属性,请转至管理 - >分析SonarQube服务器的范围:
如果要对特定的SonarQube项目应用此排除项,请选择项目,然后浏览项目 - >管理 - >分析范围。