【发布时间】:2014-01-25 23:50:24
【问题描述】:
我正在使用 Ant 并希望为所有包、源等启用 checkstyle。理想情况下,它就像在我现有的构建目标上添加对 checkstyle 的依赖一样简单,但由于违规而破坏了构建。我不想禁用使用注释样式,因为这意味着更改源文件。
我想做的禁用是一种特定类型的检查(例如,由于现有代码库中数百万条违规行导致尾随空格)
有没有办法配置 checkstyle 来做到这一点?
【问题讨论】:
标签: ant checkstyle
我正在使用 Ant 并希望为所有包、源等启用 checkstyle。理想情况下,它就像在我现有的构建目标上添加对 checkstyle 的依赖一样简单,但由于违规而破坏了构建。我不想禁用使用注释样式,因为这意味着更改源文件。
我想做的禁用是一种特定类型的检查(例如,由于现有代码库中数百万条违规行导致尾随空格)
有没有办法配置 checkstyle 来做到这一点?
【问题讨论】:
标签: ant checkstyle
您可以通过在运行Checkstyle Ant task 时指定的 Checkstyle 配置文件中添加或删除检查来启用和禁用检查。 Checkstyle 完全运行配置 XML 中存在的检查(例如 Sun Checks)。
不可能禁用配置中存在的检查:
<module name="EmptyBlock">
<property name="enabled" value="false" /> <!-- won't work -->
</module>
也不可能告诉 Checkstyle 运行“除了 EmptyBlock 之外的所有检查”,因为没有“所有检查”之类的东西 - 可用检查的集合完全取决于配置 XML .但是,它可能是 Checkstyle 工具的一个很好的补充,可以支持禁用如上所示的检查,因为这将使不使用配置 GUI 的人的生活更轻松。
如果您不希望 Checkstyle 违规导致构建失败,请将 Checkstyle Ant 任务的 failOnViolation 参数设置为 false。您还可以使用maxWarnings 和maxErrors 参数来设置在构建中断之前可以容忍多少警告或错误的阈值。
哪些违规被视为错误,哪些被视为警告取决于您指定的 Checkstyle 配置 (docs) 中单个检查的 severity 属性。默认严重性为“警告”。
【讨论】:
<module name="EmptyBlock"><property name="enabled" value="false" /></module> 进行一项测试