I was just adding  to the Ant Wiki AntOddities page the following macrodef :

     <!-- Allows you define a new property with a value of ${${a}.${b}} which 
can't be done by the Property task alone.  -->
         <macrodef name="macro.compose-property">
             <attribute name="name"/>
             <attribute name="stem"/>
             <attribute name="selector"/>
             <sequential>
                 <property name="@{name}" value="[EMAIL 
PROTECTED]@{selector}}"/>
             </sequential>
         </macrodef>

I wrote a quick counter-example which shows how expansions of properties in Ant 
is not recursive:

     <?xml version="1.0" encoding="UTF-8"?>
     <project basedir="." default="all" name="changeme">
         <target name="all">
             <property name="a" value="arf"/>
             <property name="b" value="bark"/>
             <property name="arf.bark" value="woof woof woof"/>
             <echo message="${${a}.${b}}"/>
         </target>
     </project>

but when I ran it, in Ant version 1.7 alpha built from CVS last night,  instead 
of getting the  unexpanded value of
the overall expression which I expected:

     [echo] ${${a}.${b}}

I received the unexpected:

     [echo] ${${a}.bark}

This does not seem to me to be correct by the rules of Ant. Either the internal 
expansion should be complete or not
at all ... the right term should not expand and leave the left unexpanded. It 
seems to me the expected answer was
the one returned by Ant version 1.6.1 but I don't have that built now to see if 
the current behavior is a regression.

--
Jack J. Woehr      # We have gone from the horse and buggy
Senior Consultant  # to the moon rocket in one lifetime, but
Purematrix, Inc.   # there has not been a corresponding moral
www.purematrix.com # growth in mankind. - Dwight D. Eisenhower




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to