gpt4 book ai didi

java - Checkstyle 和 Jenkins : check modified/added lines in SVN commit

转载 作者:行者123 更新时间:2023-12-02 07:17:19 24 4
gpt4 key购买 nike

我们有一个大型的旧 Java 项目,其中包含大量遗留代码。现在我们有了代码约定和 Checkstyle 规则来检查它。

我们想要配置 Jenkins 作业,该作业在每次提交到 SVN 后运行,以检查修改/添加的行是否不违反我们的任何 Checkstyle 规则。

由于遗留代码,无法检查整个项目。此外,我们不能只是重新格式化所有代码,因为这样就很难确定谁更改了特定行以及原因。

我们考虑的方法 - 区分以前和当前的 Checkstyle 报告,并查看是否存在新的违规行为。

问题是 - 我们如何才能访问 Jenkins 中之前的 Checkstyle 报告?

或者如何配置 checkstyle 仅在出现新违规时才使构建失败?

可能有现成的解决方案来进行此类检查吗?

最佳答案

这有点迂回,但如果你设置了 Sonar实例来分析您的项目,您可以通过其远程访问 API 以编程方式查询违规数据。您知道旧代码中的违规计数(大概该数字不会经常更改)。这是您的基线 - 您不希望计数高于该基线。

因此,在 CI 作业中,您可以在末尾添加一个脚本,调用 Sonar 来获取您关心的每个严重级别(阻止者、严重等)的违规计数,如果当前计数超过阈值/基准。

Sonar 总体来说非常棒,特别是对于具有大量遗留代码的项目,因为您可以深入了解并找出最危险的区域在哪里。他们有一个 public instance如果您还没有 checkout ,请运行。

关于java - Checkstyle 和 Jenkins : check modified/added lines in SVN commit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14764804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com