9

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 Answers 2

13

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

Sign up to request clarification or add additional context in comments.

Comments

0

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.

2 Comments

Well it is fixed. I just can not find way to access return value from target test in the target test2.
Oh, I see, you mean test return the name of the exe that you want to execute?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.