小编典典

Checkstyle和Findbugs仅在Jenkins(和/或Hudson)上查找更改的文件

jenkins

我们使用许多遗留代码,并考虑为新代码引入一些指标。是否可以让Findbugs和Checkstyle仅在更改的文件而不是整个项目上运行?

确保只签入质量最低的文件是很好的,但是(尚未)不检查和评估代码库本身,以免使成千上万的问题引起人们的困惑。


阅读 243

收藏
2020-07-25

共1个答案

小编典典

从理论上讲,这是可能的。在给定开始日期之后,您将使用Shell脚本来解析SVN(或任何SCM)更改日志,从这些更改集中识别.java文件,并从中建立两种模式:

  • FindBugs的Maven插件需要一个逗号分隔的类(或包)名称的参数列表onlyAnalyze,所以你必须以文件名转换为完全限定类名(这会变得棘手,当你在处理内部类)
  • Maven的Checkstyle的插件更是雪上加霜,预计其配置文件packageNamesLocation参数。不幸的是,只允许使用包,不允许单独的文件。因此,您必须将文件名转换为包。

在以上示例中,我假设您正在使用maven。我很确定蚂蚁可以完成类似的事情,但我不知道。

我本人可能会使用Groovy脚本而不是Shell脚本来实现上述结果。

2020-07-25