gpt4 book ai didi

hudson - Checkstyle 和 Findbugs 仅在 Jenkins(和/或 Hudson)上更改文件

转载 作者:行者123 更新时间:2023-12-04 19:17:48 26 4
gpt4 key购买 nike

我们处理了大量遗留代码,并考虑为新代码引入一些指标。是否可以让 Findbugs 和 Checkstyle 仅在更改的文件上运行而不是在完整的项目上运行?

最好确保只 checkin 质量最低的文件,但代码库本身(尚未)被触及和评估,以免被成千上万的问题混淆。

最佳答案

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

  • Findbugs Maven Plugin期望以逗号分隔的类列表(或
    包)参数名称 onlyAnalyze ,所以你会有
    将文件名转换为完全限定的类名(这将得到
    处理内部类时很棘手)
  • Maven Checkstyle Plugin更糟糕的是,它预计
    其配置文件 packageNamesLocation 范围。
    不幸的是,只允许包,而不是单个文件。所以
    您必须将文件名转换为包。

  • 在上面的示例中,我假设您使用的是 maven。我很确定用 ant 可以做类似的事情,但我不知道。

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

    关于hudson - Checkstyle 和 Findbugs 仅在 Jenkins(和/或 Hudson)上更改文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7243190/

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