仅停止构建脚本的一部分

时间:2013-07-31 10:56:49

标签: java ant build

我遇到了有关构建脚本的问题。目前,我有一个main build.xml文件,它从目录中调用每个内部build.xml文件。内部build.xml有两个阶段要执行,最后我得到一个jar文件。 我的要求是,如果内部build.xml文件的第一步中有任何错误,我不应该获取jar文件,但主构建应该继续执行并转到下一个内部build.xml文件。 在基于某些条件的内部build.xml中,我想停止内部构建。我应该在代码中进行哪些更改以阻止该特定构建? 提前谢谢。

2 个答案:

答案 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从来没有把它变成蚂蚁,这很可惜。它包含非常有用的任务。