如何在引入新警告时使构建失败

时间:2012-09-30 16:18:32

标签: java maven-2 continuous-integration build-automation

我们正在开发一些旧的java项目。代码有很多警告,但我想避免引入新的。有没有办法用maven,bamboo做到这一点。我们无权在Bamboo(公司)上安装新的插件,因此首选maven解决方案。

4 个答案:

答案 0 :(得分:1)

嗯,我同意没有可以执行此操作的插件,但您可以使用java 1.7以简单的步骤执行此操作。

在编译时使用处理器来编译代码并维护在日志文件中生成的警告。每次触发构建时,都会启动,您可以将旧日志文件与新日志文件进行比较。

注意:在jdk 1.6和1.5中,您可以使用相同的APT工具。

答案 1 :(得分:0)

如果您使用的是eclipse,则可以添加注释(@IgnoreWarnings)以忽略现有警告。但是你必须在有警告的地方修改源。

使用PMD(http://pmd.sourceforge.net/)和/或findbugs(http://findbugs.sourceforge.net/)可能有更智能的解决方案。有很多环境的插件可供使用。

您也可以决定修改您修改的课程中的每个警告。当然,这意味着每个开发人员都倾向于这样做......

答案 2 :(得分:0)

这里重要的词是“ new ” -
您正在构建日志中查找新警告,无论其严重程度或来源如何。

为此你需要有一组当前警告的“快照”:

  • 获取“好”构建的输出副本及其所有警告。

  • 在每次新构建之后(假设它没有失败),将新日志与保存的日志进行比较 -
    日志中的任何更改都意味着您有新的警告

干杯

答案 3 :(得分:0)

您可以使用checkstyle任务,报告生成完成后,您可以使用xslt提取警告数量(如果报告是xml,我相信其他报告格式也可用)。

然后,使用ant任务,您可以比较当前构建中警告的数量与可接受的警告数量(如果您想要花哨的话,它可以是某个地方的硬编码数字,也可以从之前的构建工件中获取)