我正在使用SonarQube 5.4来分析我自己的C#代码,分析工作与我预期的一样。现在我已经编写了一些自定义规则,一个使用StyleCop,另一个使用FxCop在我的代码上运行,但我不知道如何在SonarQube中导入这些自定义规则。我强调我使用的是带有C#插件5.1的SonarQube 5.4。在我的安装中,“规则”文件夹并不存在。相反,我可以找到:
/opt/sonarqube-5.4/data/web/deploy/plugins/csharp/META-INF/lib中的sonar-fxcop库-1.3.jar和/opt/sonarqube-5.4/extensions/plugin中的sonar-stylecop plugin-1.1。
有人能帮我在SonarQube安装中导入我的自定义规则吗?
发布于 2016-05-09 19:44:43
FxCop集成模板:通过指定自定义CheckId规则的FxCop来扩展SonarQube ( fxcop:CustomRuleTemplate )中的FxCop。编辑FxCop规则现在包含在sonar-fxcop插件中。
StyleCop集成:deprecated as StyleCop不依赖于Roslyn。
发布于 2019-02-04 19:31:07
我正在开发相同的分析工具,用于在C#中为声纳编写自己的自定义规则。从广义上讲,我们必须遵循三个步骤来实现我们的目标:
1.使用Roslyn编写实时代码分析器:我使用Roslyn分析器工具为我的分析目的编写自定义规则。关于如何开始编写规则,确实有一些很好的教程。我曾经启动过的一个是Use Roslyn to Write a Live Code Analyzer for Your API。构建此项目将在项目的bin文件夹中生成一个.nupkg文件。
假设构建项目生成了一个包your_project_name.version,,例如AnalyzerExample.1.0.6971.18074,类似这样。
2.使用 生成封装Roslyn分析器的自定义SonarQube插件。在SDK和SonarQube版本之间,我们必须遵循一些兼容性矩阵。我们可以克隆存储库,也可以下载分析工具。运行此工具将生成一个jar文件。
RoslynSonarQubePluginGenerator.exe /a:analyzerexample 运行该工具将在当前工作目录中生成一些xml文件。我们可以在xml文件中配置自定义规则属性,然后通过以下命令生成jar文件:
RoslynSonarQubePluginGenerator.exe /a:analyzerexample /rules:rules.xml在使用合适的参数运行这个生成器之后,我们得到了一个jar文件,即analyzerexample-plugin-1.0.6971.18074。这就是我们要找的插件。它将包含我们在步骤1中在项目中编写的所有规则。
3.使用生成的jar文件作为插件:将步骤1中生成的插件(jar文件)复制到SonarQube的extensions文件夹中。重新启动Sonar服务器。登录到服务器,然后您可以在质量配置文件部分的最近规则列表中看到您添加的规则。通过将该规则添加到某个质量配置文件中,单击该规则以激活它。
发布于 2016-05-10 23:18:47
好吧,我在http://sonarqube-archive.15.x6.nabble.com/FxCop-Custom-Rules-option-unavailable-on-sonarqube-5-0-td5032660.html里找到了一些信息。汇总标识规则文件夹中的规则所需的唯一字段是CheckId。其他字段仅为信息。我使用CheckId添加了规则,但在我的项目中使用MSBuild的sonarScanner,我在SonarQube web UI中看不到与此相关的问题。就像我的项目程序集不被处理一样。有人能帮上忙吗?
https://stackoverflow.com/questions/37111565
复制相似问题