I've run into an odd behavior that I'm assuming is a defect but I'd like to
confirm.
With this build file:
<project name="augment-test">
<target name="init">
<path id="inner"/>
<path id="outside">
<path refid="inner"/>
</path>
</target>
<target name="update-paths">
<augment id="inner">
<fileset dir="lib"/>
</augment>
</target>
<target name="a" depends="init, update-paths">
<echo message="${toString:inner}" />
</target>
<target name="b" depends="init, update-paths">
<echo message="${toString:outside}" />
</target>
</project>
If I invoke target "b" I get a response I expect:
C:\augment-test>ant b
Buildfile: C:\augment-test\build.xml
init:
update-paths:
b:
[echo] C:\augment-test\lib\A.jar;C:\augment-test\lib\B.jar
However, if I call it with both "a" and "b" the value of the "outer" path
is empty:
C:\augment-test>ant a b
Buildfile: C:\augment-test\build.xml
init:
update-paths:
a:
[echo] C:\augment-test\lib\A.jar;C:\augment-test\lib\B.jar
init:
update-paths:
b:
[echo]
If I reverse the targets then I get a similar result, however now the inner
path is empty and outer is OK:
C:\augment-test>ant b a
Buildfile: C:\augment-test\build.xml
init:
update-paths:
b:
[echo] C:\augment-test\lib\A.jar;C:\augment-test\lib\B.jar
init:
update-paths:
a:
[echo]
This happens with both 1.8.4 and 1.9.2 on 64-bit Windows 7.
Thoughts?