这就是我要做的事情。
我有一个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文件。
答案 0 :(得分:2)
您是否看过failonerror
参数?
默认情况下,忽略a的返回码;当你设置 failonerror =“true”然后任何返回代码信令失败(操作系统 特定的)导致构建失败。 Exec task