我有以下的ant目标:
<target name="refactor-ids">
<echo>Refactor IDs</echo>
<exec executable="perl" dir="${basedir}">
<arg value="script.pl" />
<arg value="input.xml" />
</exec>
</target>如果可执行文件由于任何原因而失败(script.pl不存在等),构建将被视为成功。如何在此可执行文件成功的基础上建立有条件的构建成功?
发布于 2011-10-18 06:02:51
只需将failonerror="true"添加到exec元素
发布于 2011-10-18 05:39:58
我假设这是一个ant脚本,而不是xsl目标。
您可以使用exec任务的failifexecutionfails.属性:
http://ant.apache.org/manual/Tasks/exec.html
因此,如果您的执行由于任何原因而失败,您的构建也将失败。默认情况下,这是真的。您还可以使用以下属性检查可执行文件的返回码:
failonerror和
resultproperty例如:
<target name="refactor-ids">
<echo>Refactor IDs</echo>
<exec executable="perl" dir="${basedir}" failonerror="false" resultproperty="return.code">
<arg value="script.pl" />
<arg value="input.xml" />
</exec>
<fail>
<condition>
<equals arg1="-1" arg2="${return.code}"/>
</condition>
</fail>
</target>发布于 2017-02-25 01:55:42
要立即失败,请使用failonerror属性:
<exec dir="${basedir}" executable="sh" failonerror="true">
<arg line="-c 'myscript'" />
</exec>若要在失败前执行其他操作,请将退出代码存储在before属性属性中。通常,0表示成功,1 or higher indicates an error表示成功
<exec dir="${basedir}" executable="sh" failonerror="false" resultproperty="exitStatusCode">
<arg line="-c 'myscript'" />
</exec>
<!-- Do some other stuff before failing -->
<fail>
<condition>
<not>
<equals arg1="0" arg2="${exitStatusCode}"/>
</not>
</condition>
</fail>https://stackoverflow.com/questions/7799778
复制相似问题