【问题标题】:How to use existing Checkstyle files in SonarQube如何在 SonarQube 中使用现有的 Checkstyle 文件
【发布时间】:2013-07-23 02:03:05
【问题描述】:

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

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

感谢您的帮助。

【问题讨论】:

    标签: sonarqube checkstyle


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 由于我们在提交代码后运行 SonarQube,因此我们不希望在我们的存储库中出现错误代码。
      • SonarQube Eclipse 插件和问题报告插件用于在将代码提交到 SCM 之前检查您的代码。
      猜你喜欢
      • 2016-02-18
      • 2018-11-29
      • 2016-08-29
      • 2017-07-30
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多