【发布时间】:2013-02-08 02:32:38
【问题描述】:
我们有包含大量遗留代码的大型 Java 项目。现在我们有了代码约定和 Checkstyle 规则来检查它。
我们想要配置 Jenkins 作业,该作业在每次提交到 SVN 后运行,以检查修改/添加的行是否违反我们的任何 Checkstyle 规则。
由于遗留代码,无法检查整个项目。此外,我们不能只是重新格式化所有代码,因为这样就很难确定谁更改了特定的行以及更改的原因。
我们考虑的方法 - 区分以前和当前的 Checkstyle 报告,看看是否有新的违规行为。
问题是 - 我们如何在 Jenkins 中访问之前的 Checkstyle 报告?
或者如何将 checkstyle 配置为仅在有新违规时才构建失败?
对于此类检查是否有现成的解决方案?
【问题讨论】:
-
在类似的情况下,我们称为代码冻结,使用自动格式化程序重新格式化所有代码,并检查更改后的格式。现在我们可以通过与重新格式化之前的文件版本(对于非常旧的更改)或重新格式化之后的文件版本(对于较新的更改)进行比较来查看谁更改了什么。这对每个人都非常有效。
标签: java svn jenkins checkstyle