可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
So this is the scenario. I have
<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>
Basically I need a way to use the result from first target in the next target. I looked online and one solution seems to be is to parse output. But is there a way to get it without parsing?
Thanks
回答1:
The exec task has an outputproperty
. Could you do something like this:
<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>
It's been a while since I used Ant and I don't have it installed on this machine, but I seem to recall doing something like the above.
Or maybe use resultproperty
?
Found it here: http://ant.apache.org/manual/Tasks/exec.html
回答2:
The first executable return the name of the executable that you later have to run in test2, right?
So the first executable could write that name into a script file (e.g. batch file on Windows, shell file on Unix). The script would have a fixed name and your Ant script would just run it.