ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "George Czernuszka" <>
Subject refid still not behaving as expected in 1.7.0
Date Wed, 29 Aug 2007 16:48:44 GMT

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 name="test">
        <condition property="test.path.set" else="false">
            <isreference refid="test.path"/>
        <echo message="test.path setting = ${test.path.set}"/>

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

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

Total time: 0 seconds

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message