3

我和我的同事想将 SonarQube 整合到我们现有的项目中。我们对 Java 项目的正常开发过程包括在代码更改时运行 Checkstyle 以确保它们遵循我们的样式规则,将项目提交到我们的代码存储库并让 Jenkins 构建和打包最新版本。我们想将 SonarQube 添加到最后一步(通过 Jenkins 插件),但我们不想在 SonarQube 中复制所有 Checkstyle 规则,因为这需要我们维护两组单独的规则并使事情变得更复杂如果我们需要更改规则。我们不想完全切换到 SonarQube,因为我们希望在将代码提交到我们的存储库之前仍然运行 Checkstyle。

那么有没有办法将我们现有的一组 Checkstyle XML 文件“上传”(可以这么说)到 SonarQube 以供其在评估中使用?

谢谢您的帮助。

4

2 回答 2

1

AFAIK,不可能让 Sonar 使用存储库中的 Checkstyle 定义。但是,可以让 Sonar 使用存储库中当前的 Checkstyle 抑制过滤器。

至于规则定义,我认为您必须在 Sonar 中维护它们,并且当有任何更改时,还要更改 eclipse-cs 使用的存储库中的副本。这是多余的,但至少它只影响一个人——团队的其他人可以从中受益。这种方法还可以实现有意的差异,例如,当检查某些特定于 Eclipse 的问题时(例如,与源文件夹有关的东西,在 Sonar 中不存在)。

可以在 Sonar 中配置抑制过滤器文件的路径,以引用您的东西被检出以进行 Sonar 分析的位置。因此,该部分可以在存储库中维护而没有任何冗余。

于 2013-07-29T20:15:10.500 回答
-1

在我看来,您应该做出选择:使用 SonarQube 或 Checkstyle,但不能同时使用两者。检查代码更改以确保它们遵循我们的样式规则 => 你不能用 SonarQube 替换这一步吗?参见例如:http ://docs.codehaus.org/display/SONAR/Using+SonarQube+in+Eclipse或http://docs.codehaus.org/display/SONAR/Issues+Report+Plugin

于 2013-07-24T16:14:10.787 回答