对于C#5.4 Sonarqube自定义规则

问题描述 投票:5回答:3

我使用SonarQube 5.4分析我自己的C#代码,分析工作如我所料。现在,我已经写了一些自定义规则,一个使用了StyleCop,另一个使用的FxCop在我的代码运行,但我没有找到如何导入SonarQube theese自定义规则。我强调的是,我用SonarQube 5.4与C#5.1的插件。在我的安装文件夹“规则”不存在。相反,我可以找到:

声纳的FxCop库-1.3.jar在/opt/sonarqube-5.4/data/web/deploy/plugins/csharp/META-INF/lib和声纳了StyleCop-插件-1.1在/opt/sonarqube-5.4/extensions/插件。

任何人都可以帮我导入SonarQube安装我的自定义规则?

c# sonarqube fxcop stylecop
3个回答
3
投票

FxCop的集成:(:CustomRuleTemplate的FxCop)通过指定自定义的FxCop规则的Template for custom FxCop rules在SonarQube延长CheckId。 [编辑] FxCop的规则,现在由sonar-fxcop插件覆盖。

集成了StyleCop:deprecated作为了StyleCop不依赖于罗斯林。


2
投票

我工作的同样的分析工具,在C#写我自己的自定义规则声纳。在广义上,我们必须遵循三个步骤来实现我们的目标:

1.使用罗斯林写一个实时代码分析仪:我用罗斯林分析工具来写我的分析目的的自定义规则。实际上有如何开始书写规则一些很好的教程。其中一个我用来启动是Use Roslyn to Write a Live Code Analyzer for Your API。建设这个项目将产生该项目的bin文件夹一个.nupkg文件。 比方说,建设该项目产生的包your_project_name.version,例如AnalyzerExample.1.0.6971.18074,类似的东西。

2.使用SonarQube Roslyn SDK生成自定义SonarQube插件封装了罗斯林分析。还有,我们有SDK和SonarQube版本之间遵循一些兼容性矩阵。要么我们可以克隆库,或者我们也可以下载分析工具。运行此工具将生成jar文件。

RoslynSonarQubePluginGenerator.exe /a:analyzerexample 

运行该工具将产生在当前工作目录中的一些XML文件。我们可以在XML文件中配置自定义规则的属性,然后通过以下命令生成jar文件:

RoslynSonarQubePluginGenerator.exe /a:analyzerexample /rules:rules.xml

运行此发电机用合适的参数后,我们得到一个jar文件analyzerexample-插件-1.0.6971.18074。这是我们正在寻找所需要的插件。这将包括所有我们已经在步骤1中,写在我们项目的规则。

3.使用生成的jar文件作为插件:在步骤1到SonarQube的扩展文件夹中生成的复制插件(jar文件)。重新启动声纳服务器。登录到服务器,然后就可以看到在质量型材断面你增加的规则,在最近的规则列表中。点击该规则来激活它,将它添加到一些优质的个人资料。


0
投票

好吧,我在http://sonarqube-archive.15.x6.nabble.com/FxCop-Custom-Rules-option-unavailable-on-sonarqube-5-0-td5032660.html一些资料发现。总结识别规则文件夹中的规则所需的唯一领域是CheckId。其他场均只有相关信息。我添加使用CheckId规则,但在我的项目中使用sonarScanner的MSBuild的,我不SonarQube网上看到关于UI它的问题。正如不处理我的项目组件。谁能帮助?

© www.soinside.com 2019 - 2024. All rights reserved.