我遇到了有关构建脚本的问题。目前,我有一个main build.xml文件,它从目录中调用每个内部build.xml文件。内部build.xml有两个阶段要执行,最后我得到一个jar文件。 我的要求是,如果内部build.xml文件的第一步中有任何错误,我不应该获取jar文件,但主构建应该继续执行并转到下一个内部build.xml文件。 在基于某些条件的内部build.xml中,我想停止内部构建。我应该在代码中进行哪些更改以阻止该特定构建? 提前谢谢。
答案 0 :(得分:5)
在您用于调用其他构建文件的subant任务上设置failonerror="false"
。
答案 1 :(得分:0)
如果您能够为构建添加ant-contrib,那么很容易。在您的主要任务中,执行:
<target name="xxx">
<var name="firstStepOK" value="true"/>
<trycatch>
<try>
<!-- call first sub build -->
</try>
<catch>
<var name="firstStepOK" value="false"/>
</catch>
</trycatch>
<!-- call second sub build, pass value of firstStepOK -->
</target>
不幸的是,ant-contrib从来没有把它变成蚂蚁,这很可惜。它包含非常有用的任务。