ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dominique Devienne <>
Subject RE: nested properties anyone?
Date Thu, 15 Aug 2002 18:02:52 GMT
This kind of things can be achieved indirectly using either <propertycopy>
from ant-contrib (for sure), or id/refid, provided you can set the ids as
below (precludes loading the properties file, since cannot assign ids).

No telling that it's kind of a hack ;-) --DD

------- 1.4.1 output -------
P:\org_apache\antx>ant -buildfile nestedProperties.xml
Buildfile: nestedProperties.xml

Overriding previous definition of reference to host1
Overriding previous definition of reference to host2
     [echo] =


Total time: 1 second

------- 1.5 output -------
P:\org_apache\antx>C:\pro\ant1.5\bin\ant -buildfile nestedProperties.xml
Buildfile: nestedProperties.xml

     [echo] =

Total time: 1 second

------- nestedProperties.xml -------
<?xml version="1.0"?>

<!-- ANT build file to test a specific feature or bug of ANT.
     Dominique Devienne <>      August 2002
<project name="antx" default="test" basedir=".">

  <target name="test">
    <!-- Simulate loading the properties file (kinda!)
    <property file=""/>
    <property id="host1" name="host1" value=""/>
    <property id="host2" name="host2" value=""/>

    <!-- Simulate running the 'hostname' command
    <exec outputproperty="hostname" executable="hostname"/>
    <property name="hostname" value="host2" />

    <property name="" refid="${hostname}"/>
    <echo  message=" = ${}"/>


-----Original Message-----
From: [] 
Sent: Thursday, August 15, 2002 11:59 AM
Subject: nested properties anyone?

>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

I have a list of servers (, where key is an actual hostname
(obtained from hostname command) and value is a domain, e.g.
I want to determine on which machine I'm running the script and use a full
domain name further in the script.

1. <property file=""/>
2. <exec outputproperty="hostname" executable="hostname"/>
3. Now I have a ${hostname} and I want to assign its value to the property that I use in my script. My first reaction was to do this:
<property name="" refid="${${hostname}}"/>
Well it didn't work because curleys are evaluated only once and I'm getting
value of 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:   <>
For additional commands, e-mail: <>

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

View raw message