ANT Script handling Return value from exec

2019-04-22 15:19发布

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

2条回答
Evening l夕情丶
2楼-- · 2019-04-22 16:02

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.

查看更多
Explosion°爆炸
3楼-- · 2019-04-22 16:04

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

查看更多
登录 后发表回答