Consider the following build file:
<?xml version="1.0" encoding="UTF-8"?>
<project name="test" default="test">
<target name="test">
<antcall target="echotarget"/>
<replace
file = "build.xml"
token = "&lt;TEST MESSAGE&gt;"
value = "&lt;test message&gt;"
/>
<antcall target="echotarget"/>
<replace
file = "build.xml"
token = "&lt;test message&gt;"
value = "&lt;TEST MESSAGE&gt;"
/>
<antcall target="echotarget"/>
</target>
<target name="echotarget">
<echo message="<TEST MESSAGE>"/>
</target>
</project>
When it is run the output is as follows:
Buildfile: build.xml
test:
echotarget:
[echo] <TEST MESSAGE>
echotarget:
[echo] <test message>
echotarget:
[echo] <TEST MESSAGE>
BUILD SUCCESSFUL
Total time: 3 seconds
I figured the output would have been this:
echotarget:
[echo] <TEST MESSAGE>
echotarget:
[echo] <TEST MESSAGE>
echotarget:
[echo] <TEST MESSAGE>
Now granted, the condition of the build file be updated while the build is
running would be rare. I can see some benefits of it doing this, like a call
to a CVS update target, where the build file is updated, and then the
targets contents could be executed with the new changes.
If anything, I think this should be documented, since it is a gotcha. It got
me while working on a build file, and saved it with a broken task while the
build ran in the background and it failed.
-- Larry
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]