我的同事和我想将SonarQube纳入我们现有的项目中。我们对Java项目的正常开发过程涉及在代码更改时运行Checkstyle以确保它们遵循我们的样式规则,将项目提交到我们的代码存储库并让Jenkins构建并打包最新版本。我们想在最后一步(通过Jenkins插件)添加SonarQube,但我们不想在SonarQube中复制所有Checkstyle规则,因为这需要我们维护两组不同的规则并使事情变得更复杂如果我们需要更改规则。我们不想完全切换到SonarQube,因为我们还希望在将代码提交到我们的存储库之前运行Checkstyle。我们还希望将自己的Checkstyle文件维护为主要的样式规则集,而不是在SonarQube上维护样式规则并为本地开发下载生成的XML文件。
那么有没有办法将我们现有的Checkstyle XML文件“上传”(可以说)到SonarQube,以便在评估中使用?
感谢您的帮助。
答案 0 :(得分:1)
AFAIK,Sonar无法使用存储库中的Checkstyle定义。 是,但是,Sonar可以使用存储库中的当前Checkstyle抑制过滤器。
至于规则定义,我认为您必须在Sonar中维护它们,并且当更改任何内容时,还要更改eclipse-cs使用的存储库中的副本。这是多余的,但至少它只影响一个人 - 团队的其他成员可以获得收益。这种方法还可以实现有意的差异,例如:当检查某些特定于Eclipse的问题时(例如,有关源文件夹的内容,Sonar中不存在)。
抑制过滤器文件的路径可以是configured in Sonar,用于指出检出物品进行声纳分析的位置。因此,可以在存储库中维护该部分而不会产生任何冗余。
答案 1 :(得分:-1)
从我的观点来看,你应该做出选择:使用SonarQube或Checkstyle但不能同时使用。 代码更改时的Checkstyle以确保它们遵循我们的样式规则=>你不能用SonarQube取代这一步。例如,请参阅:http://docs.codehaus.org/display/SONAR/Using+SonarQube+in+Eclipse或http://docs.codehaus.org/display/SONAR/Issues+Report+Plugin