我对ant脚本非常陌生,我想知道我的构建是否成功。我的主要目标有两个antcalls,我不知道如何检查它们是否成功,以评估主要目标。
运行all是我的主要目标
<target name="run all">
<antcall target="Run basic configuration" />
<antcall target="Run custom configuration"/>
我想为“全部运行”目标添加失败条件。 每个目标都会单独检查它们是否成功,但我想知道调用ant的目标是否不成功,以防这两个目标失败。 另外,如果一个失败,另一个会被调用吗?
答案 0 :(得分:2)
要确定antcall是否成功,需要更仔细地定义成功是什么。它可能意味着:
在第一种情况下,您可以使用 trycatch 块包含antcall的执行以捕获异常。 trycatch任务是ant-contrib的一部分,但在Ant编码中经常使用。你会这样做:
<trycatch property="exception.message" reference="exception.object">
<try>
<antcall target="targetName"/>
</try>
<catch>
<!-- handle exception logic here -->
</catch>
<finally>
<!-- do any final cleanup -->
</finally>
</trycatch>
在第二种情况下,您需要向调用者传递一些状态,指示代码执行了您希望它执行的操作。
请注意,antcall任务会重新加载ant文件(例如build.xml),因此这可能是一项昂贵的操作。有使用antcall任务的替代方法:
在上述每种情况下,只需设置您可以在调用目标中检查的返回属性,以确定被调用目标或从属目标是否符合您的预期。