糟糕的代码风格被Jenkins / checkstyle视为失败

时间:2013-04-11 16:09:02

标签: java playframework jenkins checkstyle

我正在使用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如何确定命令shell是否失败?

1 个答案:

答案 0 :(得分:4)

如果查看Main类检查样式(link)的源代码,您会看到退出代码是找到的样式问题的数量(或者在某些特殊情况下为1) )。

Jenkins正在关注这一点:退出代码0表示成功,非零代码表示失败。

我认为您的解决方案是无条件地退出代码为0。对此的(bash)命令是

checkstyle <arguments...> || true

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