One of the significant changes in 1.7.0 was, apparently:
" * Defer reference process. Bugzilla 36955, 34458, 37688.
This may break build files in which a reference was set in a target which was
never executed. Historically, Ant would set the reference early on, during
parse time, so the datatype would be defined. Now it requires the reference to
have been in a bit of the build file which was actually executed. If you get an
error about an undefined reference, locate the reference and move it somewhere
where it is used, or fix the depends attribute of the target in question to
depend on the target which defines the reference/datatype.
"
However, my version of ANT 1.7.0 (binary download) seems to behave in the 'old'
way. I have looked in WHATSNEW under SVN, and can see no suggestion that there
was a problem. So, my question, how can I get 'isreference' to "properly"
identify whether a path, for example, has been set at the point where the
condition is tested.
See build file and test results. I was expecting the output to be:
[echo] test.path setting = false
Build file:
===========
<?xml version="1.0" encoding="UTF-8"?>
<project name="test" default="test">
<echo message="${ant.version}"/>
<target name="never-call">
<path id="test.path" path="."/>
</target>
<target name="test">
<condition property="test.path.set" else="false">
<isreference refid="test.path"/>
</condition>
<echo message="test.path setting = ${test.path.set}"/>
</target>
</project>
Results of test:
================
C:\work>ant -f test_build.xml
Buildfile: test_build.xml
[echo] Apache Ant version 1.7.0 compiled on December 13 2006
test:
Warning: Reference test.path has not been set at runtime, but was found during
build file parsing, attempting to resolve. Future versions of Ant may support
referencing ids defined in non-executed targets.
[echo] test.path setting = true
BUILD SUCCESSFUL
Total time: 0 seconds
C:\work>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]