Jenkins/checkstyle认为糟糕的代码风格是失败。

4
我正在使用Jenkins测试一个Java软件项目(使用play web框架,但这并不重要)。
测试的一部分涉及代码风格,我使用checkstyle。我尝试按照以下方式设置我的作业:
  • 我通过命令行执行checkstyle,生成xml格式的报告

checkstyle -c /usr/share/checkstyle/sun_checks.xml -f xml -r app test -o checkstyle.xml

  • 然后我添加了一个后置构建操作,使用this Jenkins plugin读取xml报告,并将其集成到构建结果中
现在我的问题是:当代码中有任何样式问题时,Jenkins会将该作业视为失败。默认情况下,在这种情况下不会执行后置构建操作。
可以更改这个设置,以便仍然生成报告,但是坏的代码风格被认为是失败仍然让我感到困扰。我想这可能是主观的。无论如何,有没有办法改变这种情况?并且一般来说,Jenkins如何确定命令行是否失败?

你是如何构建项目的?有使用任何构建工具(ant/maven)吗? - Boris the Spider
1个回答

4
如果您查看checkstyle的Main类的源代码(链接),您会发现退出代码是找到的样式问题数量(在某些特殊情况下为1)。
这就是Jenkins关注的内容:退出代码0表示成功,非零代码表示失败。
我认为您的解决方案是无条件地使退出代码为0。这个(bash)命令是:
checkstyle <arguments...> || true

更一般地说,您可以编写一个小包装脚本运行checkstyle,然后以0的代码退出。


我有一段时间没有看这个问题了,但是那解决了它。谢谢你的答案! - Eduard Bopp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接