ANT脚本处理来自exec的返回值

时间:2009-07-01 18:32:16

标签: scripting ant return-value exec

所以这就是场景。 我有

<target name="test">
  <property file="blah"></property>
  <exec dir="" executable="trast.exe" resolveexecutable="true" spawn="true">
  </exec>
</target>     

<!-- So now I have the second target that uses Return value from first target -->
<target name="test2">
  <property file="blah"></property>
  <exec dir="" executable=RETURN VALUE resolveexecutable="true" spawn="true">
  </exec>
</target>     

基本上我需要一种方法来使用下一个目标中第一个目标的结果。我在网上看,一个解决方案似乎是解析输出。但有没有办法在没有解析的情况下得到它?

由于

2 个答案:

答案 0 :(得分:13)

exec任务有一个outputproperty。你能做这样的事吗:

<target name="test">
  <exec dir="" executable="trast.exe" resolveexecutable="true" spawn="true" outputproperty="blah">
  </exec>
</target>     

<!-- So now I have the second target that uses Return value from first target -->
<target name="test2">
  <exec dir="" executable="${blah}" resolveexecutable="true" spawn="true">
  </exec>
</target>

我使用Ant已经有一段时间了,我没有在这台机器上安装它,但我似乎记得做了类似上面的事情。

或者可以使用resultproperty

在这里找到它: http://ant.apache.org/manual/Tasks/exec.html

答案 1 :(得分:0)

第一个可执行文件返回稍后必须在test2中运行的可执行文件的名称,对吗?

因此,第一个可执行文件可以将该名称写入脚本文件(例如,Windows上的批处理文件,Unix上的shell文件)。该脚本将具有固定名称,您的Ant脚本将运行它。