From chapter 10 of Java Development with Ant [1] (gotta make my plugs
somehow!):
Copying properties
In section 3.10.1 we demonstrate an obscure way to dereference property
values by using Ant's built-in capabilities. The ant-contrib [2]
<propertycopy> task makes property dereferencing much cleaner and easier
to understand. We have refactored the example we presented earlier to
use <propertycopy>:
<target name="propertycopy">
<property name="X" value="Y"/>
<property name="Y" value="Z"/>
<propertycopy name="A" from="${X}"/>
<echo message="A = ${A}"/>
</target>
The value of ${X} is "Y". The from attribute of <propertycopy> refers to
an Ant property name, "Y" in this example. The value of the property Y
is "Z", so the output is "A = Z". This is a much nicer alternative than
using the refid tricks.
[1] http://www.amazon.com/exec/obidos/ASIN/1930110588
[2] http://sourceforge.net/projects/ant-contrib/
Erik
Matt Benson wrote:
> Agreed on nested properties expansion.
>
> -Matt
>
> --- [EMAIL PROTECTED] wrote:
>
>>Problem:
>>From the list of the predefined properties key=value
>>select one based on the
>>value of some other property and use it as a default
>>
>>Example:
>>I have a list of servers (hosts.properties), where
>>key is an actual hostname
>>(obtained from hostname command) and value is a
>>domain, e.g.
>>host_one=host_one.somewhere.com
>>host_two=host_two.some.place.else.com
>>I want to determine on which machine I'm running the
>>script and use a full
>>domain name further in the script.
>>
>>Solution?
>>1. <property file="hosts.properties"/>
>>2. <exec outputproperty="hostname"
>>executable="hostname"/>
>>3. Now I have a ${hostname} and I want to assign its
>>value to the property
>>build.host that I use in my script. My first
>>reaction was to do this:
>><property name="build.host" refid="${${hostname}}"/>
>>Well it didn't work because curleys are evaluated
>>only once and I'm getting the
>>value of build.host literaly as "${hostname}"
>>Is there any other way? Any way?
>>And I think that it would be nice feature to
>>reevaluate the nested brackets
>>
>>Bob Stone
>>
>>--
>>To unsubscribe, e-mail:
>><mailto:[EMAIL PROTECTED]>
>>For additional commands, e-mail:
>><mailto:[EMAIL PROTECTED]>
>>
>
>
> __________________________________________________
> Do You Yahoo!?
> HotJobs - Search Thousands of New Jobs
> http://www.hotjobs.com
>
> --
> To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>
>
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>