2009-07-01 81 views
9

所以这是场景。 我ANT脚本处理来自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>  

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

感谢

回答

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> 

这已经有一段时间,因为我使用蚂蚁和我没有它这个机器上安装,但我似乎记得做一些像上面。

或者可能使用resultproperty

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

0

的第一个可执行返回你以后必须在TEST2运行的可执行文件的名字,对吧?

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

+0

那么它是固定的。 我只是无法找到方法来访问目标test2中的目标测试的返回值。 – grobartn 2009-07-01 18:40:59