如果标准输出或错误包含警告,如何使Ant构建失败



我有一个由多个开发人员共同完成的基于ant的构建。如果构建管道的任何部分发出警告,我想通过导致硬构建中断来约束团队。

实际上,我认为构建需要失败,如果stdout或stderr沿着"bwarn(ing)?b|berrorb|bfatalb"的行包含一个正则表达式,其中b 's是单词边界。

我怎样才能做到这一点?

如果您想要控制构建的输出,您将需要实现一个自定义侦听器。更多信息请参见https://ant.apache.org/manual/listeners.html。一旦实现,您可以通过传递-listener fully_qualified_listener_classname来指示Ant使用侦听器,前提是该类已添加到类路径中。

基本上,您需要实现org.apache.tools.ant.BuildListener并在messageLogged方法中执行逻辑,该方法接收与任务生成的日志相对应的构建事件。该事件包含要记录的消息,您可以解析该消息以确定是否停止构建,通常通过抛出像BuildException这样的运行时异常。

相关内容

  • 没有找到相关文章

最新更新