Jenkins 如何为声纳指定StyleCop设置?
我试图在Jenkins客户端上通过gradle sonarrunner插件运行StyleCop(4.7.47)。它运行正常,但由于某些原因,它没有使用我的Settings.StyleCop文件,我在其中禁用了一些规则,因此Sonar(3.7)报告了我不感兴趣的违规行为 c#项目的结构如下:Jenkins 如何为声纳指定StyleCop设置?,jenkins,gradle,sonarqube,stylecop,Jenkins,Gradle,Sonarqube,Stylecop,我试图在Jenkins客户端上通过gradle sonarrunner插件运行StyleCop(4.7.47)。它运行正常,但由于某些原因,它没有使用我的Settings.StyleCop文件,我在其中禁用了一些规则,因此Sonar(3.7)报告了我不感兴趣的违规行为 c#项目的结构如下: /Root Src/ Project1/... Project2/... MySolution.sln Settings.StyleCo
/Root
Src/
Project1/...
Project2/...
MySolution.sln
Settings.StyleCop
build.gradle
我的Settings.StyleCop文件如下所示:
<StyleCopSettings Version="105">
<GlobalSettings>
<StringProperty Name="MergeSettingsFiles">NoMerge</StringProperty>
</GlobalSettings>
<Analyzers>
<Analyzer AnalyzerId="StyleCop.CSharp.DocumentationRules">
<Rules>
<Rule Name="ElementDocumentationMustBeSpelledCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
</Analyzer>
</Analyzers>
</StyleCopSettings>
我还尝试指定了sonar.stylecop.analyzers.settings属性
,尽管前面提到这不能用于指定活动规则
当我在VisualStudio中运行StyleCop时,它确实使用了正确的规则
有没有办法验证StyleCop从何处获取设置?我错过了什么明显的东西吗
感谢您的帮助。声纳的规则通过in Sonar启用/禁用(以及设置规则优先级)
由于Sonar的体系结构,必须在插件运行之前填充规则,因此插件本身无法在分析代码时直接更改冲突状态或优先级。该插件在服务器启动时填充可用规则,但Sonar StyleCop插件不提供通过QualityProfile以外的默认值修改规则设置的方法。谢谢。这不是我所希望的答案,但它澄清了问题。这意味着您必须手动确保本地环境和生成环境使用相同的StyleCop设置。SonarQube的维护人员认为SonarQube应该是运行规则的主要来源,等等。但是,包括SyleCop插件在内的几个插件提供了一种将SonarQube设置导出为其他应用程序可用的配置文件的方法。如果转到QualityProfiles页面并单击“Permalinks”选项卡,StyleCop链接将下载带有Sonar设置的StyleCop配置文件。但我不能说我试过这个。
property "sonar.language" , "cs"
property "sonar.sources" , "Src"
property "sonar.dotnet.visualstudio.solution.file" ,"Src/MySolution.sln"
property "sonar.dotnet.key.generation.strategy", "safe"
property "sonar.sourceEncoding" , "UTF-8"