当ant文件调用调用ant文件的批处理文件时,如何使构建失败

时间:2014-04-13 15:23:59

标签: java windows batch-file ant junit

这就是我要做的事情。

我有一个ant文件,它调用一个.batch文件,该文件调用一个ant文件来构建一个组件。

如果组件构建失败,我希望主ant文件无法构建。

主要文件

<target name="TestingThree">
  <exec executable="${basedir}\..\..\Component\UnitTests.bat" dir="${basedir}\..\..\Component">
    <arg line='run'/>
  </exec>
</target>

批处理文件

if "%1" == "run" call ant -buildfile build.xml test

构建组件ant文件

<target name="test" depends="compile.test, -injectSigningKeys" description="Run Component tests">

    <junit haltonfailure="yes" printsummary="yes" showoutput="yes">
    <test name="Component.TestSuite" todir="${report}" filtertrace="on" />
    <formatter type="xml" usefile="true" />
    <classpath refid="test.classpath" />

    </junit>
</target>

当我执行主ant文件时,将调用.batch文件,并且将调用另一个ant文件,该文件将无法构建。但主要的蚂蚁构建仍然成功。

.batch文件是否有办法将失败/成功返回到主ant文件? 我不能直接从主ant文件中调用第二个ant文件。我也不能将代码从第二个ant文件传输到主ant文件。

1 个答案:

答案 0 :(得分:2)

您是否看过failonerror参数?

  

默认情况下,忽略a的返回码;当你设置   failonerror =“true”然后任何返回代码信令失败(操作系统   特定的)导致构建失败。 Exec task