1

我有一个主 ant 脚本,用于按一定顺序启动多个项目的 ant 脚本。

对于每个子项目,我想发送一封电子邮件,通知我构建是否成功。

我知道我可以使用标志 -loggerorg.apache.tools.ant.listener.MailLogger在构建完成后发送电子邮件。

但是,如果我有多个要发送电子邮件的脚本,我不确定如何将该标志传递-logger org.apache.tools.ant.listener.MailLogger给 ant 调用。

准确地说,我想将 logger 标志传递给这个 ant 调用:

< ant antfile="build.xml" dir="subproject/build" target="build" />

我尝试使用paramand args,但没有成功。

4

1 回答 1

1

好问题。就我个人而言,我无法使其与ant目标一起使用。似乎不支持标志。

但是,这个 hack 有效。

<exec executable="ant.bat">
    <arg value="-logger"/>
    <arg value="org.apache.tools.ant.listener.MailLogger"/>
    <arg value="-f"/>
    <arg value="other_build.xml"/>
</exec>

这种方法的两个直接问题:

  1. 不独立于平台。
  2. 子构建失败时构建报告成功(即使使用 exec's failonerror='true'
于 2012-03-01T06:20:30.287 回答