29

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

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

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

4

4 回答 4

28

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

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

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

于 2011-11-16T21:02:42.173 回答
10

您不需要自己安装 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

于 2012-11-21T20:11:04.837 回答
2

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

于 2016-10-14T19:17:00.533 回答
0

另一个简单的机制是使用:备份/恢复配置文件请参阅:http

://docs.sonarqube.org/display/SONAR/Profile+Existence+Edits从实例备份(源)会给你一个 backup.xml 文件在您的本地机器上,然后在另一个实例(目的地)上,您可以恢复它。

于 2015-07-09T10:16:15.490 回答