ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeffrey Bacon <jba...@magmic.com>
Subject Re: recursive expansion of property names
Date Wed, 23 Jun 2004 22:35:54 GMT
looking at the Ant source code, I think all I have to do is add one line 
and it should do tiered property replacements.  Not sure if it breaks 
anything but since current behavior in this case would be to return 
"${...}" a the string, which is probably not what people were looking 
for if they used "${${propname}}" anyway, I think it _should_ be safe.

line: 276 (in Ant 1.6.1 code)
org.apache.tools.ant.PropertyHelper#replaceProperties(String, ns, String 
value, Hashtable keys)
...
                 if (replacement == null) {
                     project.log("Property ${" + propertyName
                             + "} has not been set", Project.MSG_VERBOSE);
                 }
...

if I just add this before that line it should do it:

   if (replacement == null) {
     replacement = replaceProperties(ns, propertyName, keys);
   }


this is probably more a dev forum type issue though.
--
Jeffrey Bacon
jbacon@magmic.com
Creative Developer
http://www.magmic.com


Matt Benson wrote:
> About three weeks ago there was a discussion on the
> dev list about how to allow recursive property
> expansion without breaking everything.  So it's on the
> radar, but it's not necessarily easy to do (right).
> 
> -Matt 
> 
> --- Jeffrey Bacon <jbacon@magmic.com> wrote:
> 
>>I know I can merge the 2 properties into a 3rd
>>property to get the final 
>>value but I was hoping that I would be able to do it
>>without increasing 
>>the number of properties I use by 50%.  With the
>>property copy thing, I 
>>have to create a new property name for each pair of
>>properties I want to 
>>reference this way.
>>--
>>Jeffrey Bacon
>>jbacon@magmic.com
>>Creative Developer
>>http://www.magmic.com
>>
>>
>>Matt Benson wrote:
>>
>>>See
>>>
>>
> http://ant.apache.org/faq.html#propertyvalue-as-name-for-property
> 
>>>-Matt
>>>
>>>--- Jeffrey Bacon <jbacon@magmic.com> wrote:
>>>
>>>
>>>>sorry, I should be more specific:
>>>>
>>>>I have a properties file:
>>>>
>>>>projects = com.magmic
>>>>com.magmic.name = APIs
>>>>
>>>>and I load that in Ant.
>>>>
>>>>I want to access com.magmic.name by using the
>>>>projects property:
>>>>
>>>><echo>${${projects}.name}</echo>
>>>>
>>>>I want that to print "APIs".  Is there some way to
>>>>effect that?
>>>>
>>>>--
>>>>Jeffrey Bacon
>>>>jbacon@magmic.com
>>>>Creative Developer
>>>>http://www.magmic.com
>>>>
>>>>
>>>>Jeffrey Bacon wrote:
>>>>
>>>>
>>>>>Can I effect the below behavior somehow to get it
>>>>
>>>>to print 'hello'?
>>>>
>>>>
>>>>><property name="prop1" value="prop2" />
>>>>><property name="prop2" value="hello" />
>>>>><echo>${{prop1}}</echo>
>>>>
>>>>
> ---------------------------------------------------------------------
> 
>>>>To unsubscribe, e-mail:
>>>>user-unsubscribe@ant.apache.org
>>>>For additional commands, e-mail:
>>>>user-help@ant.apache.org
>>>>
>>>>
>>>
>>>
>>>
>>>
>>>		
>>>__________________________________
>>>Do you Yahoo!?
>>>Yahoo! Mail - 50x more storage than other
>>
>>providers!
>>
>>>http://promotions.yahoo.com/new_mail
>>>
>>>
>>
> ---------------------------------------------------------------------
> 
>>>To unsubscribe, e-mail:
>>
>>user-unsubscribe@ant.apache.org
>>
>>>For additional commands, e-mail:
>>
>>user-help@ant.apache.org
>>
>>
> ---------------------------------------------------------------------
> 
>>To unsubscribe, e-mail:
>>user-unsubscribe@ant.apache.org
>>For additional commands, e-mail:
>>user-help@ant.apache.org
>>
>>
> 
> 
> 
> 
> 		
> __________________________________
> Do you Yahoo!?
> New and Improved Yahoo! Mail - Send 10MB messages!
> http://promotions.yahoo.com/new_mail 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message