【问题标题】:SonarQube MSBuild-Runner use custom FXCop rules from project fileSonarQube MSBuild-Runner 使用项目文件中的自定义 FXCop 规则
【发布时间】:2015-12-27 10:55:29
【问题描述】:

我有一个关于使用 SonarQube 和 MSBuild-Runner 进行 FXCop 分析的问题。我已经意识到 MSBuild-Runner 从服务器加载了一个与 Sonar 中的质量配置文件匹配的规则文件,并将该文件用于 FXCop 运行。

在我们的项目中,我们有一个包含多个项目的解决方案。对于每个项目,根据其类型配置规则文件,例如产品或测试代码。我们还在自己的 FXCop 程序集中使用自定义规则。

如何配置 MSBuild-Runner 以便他使用项目文件中配置的规则文件?如何将我们的自定义规则添加到 Sonar 中?我可以以某种方式导入我们的规则文件吗?

感谢您的帮助!

【问题讨论】:

    标签: msbuild sonarqube fxcop sonarqube5.1 sonarqube-msbuild-runner


    【解决方案1】:

    您必须使用单一质量配置文件来分析解决方案中的所有项目。实际上,在 SonarQube 分析过程中只使用了一个质量配置文件。理论上,您可以在 SonarQube 中创建两个质量配置文件,并运行两个 SonarQube 分析(一个用于所有产品代码,另一个用于所有测试代码),但这需要您进行一些手动设置。

    关于自定义规则,它们是受支持的:您需要在 SonarQube Web 界面中从“自定义 FxCop 规则模板”规则模板中创建它们,然后在您的质量配置文件中启用新创建的自定义规则。

    【讨论】:

    • 嗯,我认为这是 msbuid-runer 的一个缺点。他根据 SonarQube 中的质量配置文件创建自己的规则集,并忽略项目文件中的规则集。如果可以选择不这样做,那就太好了。在这种情况下,SonarQube 将获得这些发现,但仅在它们在质量配置文件中时才报告它们。使用 Web 界面添加大量自定义规则很繁琐。但我想出了如何使用 REST API。应该可以编写一个将 fxcop 规则集导入 SonarQube 的工具。
    • 确实很繁琐,有票可以添加自动导入器:jira.sonarsource.com/browse/SONARFXCOP-39
    • 有人打算开始研究这个吗?也许我可以帮忙。
    • 请随意在 GitHub 上提交拉取请求以添加此功能 - 不过它必须用 Java 编写,并且您必须扩展/实现 ProfileImporter SonarQube 扩展点 I相信,见github.com/SonarCommunity/sonar-fxcop-library
    猜你喜欢
    • 2015-11-12
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    • 2016-12-19
    • 2016-08-20
    • 2019-12-18
    相关资源
    最近更新 更多