【发布时间】:2014-01-11 16:43:49
【问题描述】:
我正在尝试通过 Jenkins 客户端上的 gradle sonarrunner 插件运行 StyleCop (4.7.47)。它运行良好,但由于某种原因,它没有使用我的 Settings.StyleCop 文件,我在该文件中禁用了一些规则,因此 Sonar (3.7) 报告了我不感兴趣的违规行为。
c#项目结构如下:
/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>
我为 sonarrunner gradle 插件指定的声纳属性是:
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"
我也尝试过指定sonar.stylecop.analyzers.settings property,尽管Sonar FAQ 提到这不能用于指定活动规则。
当我在 VisualStudio 中运行 StyleCop 时,它确实使用了正确的规则。
有没有办法验证 StyleCop 从哪里获取设置?我错过了什么明显的东西吗?
任何帮助表示赞赏。
【问题讨论】:
标签: jenkins gradle sonarqube stylecop