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]

Reply via email to