如何从 Sonar 导出 FindBugs/PMD/Checkstyle 规则并导入 Netbeans

Posted

技术标签:

【中文标题】如何从 Sonar 导出 FindBugs/PMD/Checkstyle 规则并导入 Netbeans【英文标题】:How to export FindBugs/PMD/Checkstyle rules from Sonar and import into Netbeans 【发布时间】:2011-12-30 14:56:08 【问题描述】:

我的公司设置了各种插件(PMDFindBugsCheckStyle)的声纳,虽然它非常有用(它在由签入 SVN 触发的每个 Jenkins 构建之后运行),如果我可以在签入代码之前在本地机器上运行这些不同的插件,我希望它。

我们已经在 Sonar 中设置了一组规则,所以理想情况下,我希望能够导出该规则集,也许可以对数据进行一些 munging,然后导入结果规则到我的 IDE (Netbeans 7.0.1) 到各自的插件。有没有办法做到这一点?我已经到处搜索了,没有经过手动将每个规则添加到各种插件中,似乎没有办法做到这一点。我有什么遗漏吗?

TL;DR(摘要):我想从声纳中导出配置文件并将规则设置导入 PMDFindbugsCheckStyle Netbeans 中的 插件。

【问题讨论】:

Resharper/StyleCop 插件怎么样?永久链接仅提供一个我无法导入工具的 xml 文件。 【参考方案1】:

每个 Sonar 配置文件都会在 永久链接 选项卡下发布其 Checkstyle、FIndbugs 和 PMD 配置。

假设您已在本地安装了 Sonar,以下链接显示了“Sonar Way”配置文件使用的配置文件:

http://localhost:9000/profiles/permalinks/2

【讨论】:

【参考方案2】:

您不需要自己安装 Sonar。您可以从 Sonar 的 Nemo 站点获取任何 Sonar 内置质量配置文件的配置:

大约有十几个 Java 质量配置文件。一个常用的配置文件 - 使用 Findbugs 的声纳方式 - 可在以下位置获得:

http://nemo.sonarsource.org/rules_configuration/index/135

初始配置文件视图仅列出所有规则。不要使用该视图上的“下载”链接。这只是为您提供所有工具中合并规则的 CSV 列表。有助于审核,但不是您要求的。

要导出特定于工具的配置,请选择“永久链接”选项卡/视图。这些链接以每个工具预期的形式返回配置文件。例如,这里是 FindBugs XML 配置文件的链接:

http://nemo.sonarsource.org/profiles/export?format=findbugs&language=java&name=Sonar%2520way%2520with%2520Findbugs

【讨论】:

运行本地服务器以使用不同于集中式服务器公开的配置文件的一些优点。在大型组织中尤其如此,在这些组织中,很难根据团队的需求配置 Sonar 服务器(或任何类型的资源)。或者当开发人员在提出建议以集成回集中式配置文件之前尝试不同的配置文件时。【参考方案3】:

SonarLint 是较新的插件,它不再支持 Checkstyle/PMD/FindBugs 配置文件。一切都必须迁移到 squid 规则并在 SonarQube 服务器上的 Quality Profiles 下进行配置。您需要使用连接模式连接到服务器并将自定义质量配置文件设置为默认值,以便本地分析显示与您的质量配置文件相关的问题。 有关 SonarLint 插件和连接模式的更多信息,请访问 http://www.sonarlint.org/eclipse/index.html#Connected

【讨论】:

【参考方案4】:

另一个简单的机制是使用:备份/恢复配置文件 见:http://docs.sonarqube.org/display/SONAR/Profile+Existence+Edits 从 instance(source) 进行备份会在您的本地计算机上为您提供一个 backup.xml 文件,然后在另一个 instance(destination) 上您可以恢复它。

【讨论】:

您要查找的页面不存在。

以上是关于如何从 Sonar 导出 FindBugs/PMD/Checkstyle 规则并导入 Netbeans的主要内容,如果未能解决你的问题,请参考以下文章

jenkins代码管理

Sonar,让你的代码质量更好!

持续集成之代码质量管理-Sonar

持续集成之代码质量管理 Sonar

持续集成之代码质量管理——Sonar

持续集成之代码质量管理———Sonar