0

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

4

2 回答 2

5

设置failonerror="false"您用来调用其他构建文件的子任务

于 2013-07-31T20:25:41.537 回答
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 从来没有把它变成 ant 本身,这是一个遗憾。它包含非常有用的任务。

于 2013-07-31T11:05:00.150 回答