ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel FELLER" <>
Subject RE : Recursive expand of properties ( ${${foo}.${bar}} )
Date Tue, 12 Aug 2003 13:55:34 GMT

-----Message d'origine-----
De : Dominique Devienne [] 
Envoyé : mardi 12 août 2003 15:25
À : 'Ant Users List'
Objet : RE: Recursive expand of properties ( ${${foo}.${bar}} )

>I'm afraid there is no clean solution to the over-use of such
><propertycopy> indeed helps for one or two, but not many... You may
want to 
>reconsider your use of such properties, and refactor the way you do
what you are
>doing. For example, one can often combine the loading of one of many
>file, with the properties inside that file to 'similar' effect:
><property name="thisone" ... />
><property file="${thisone}.properties" />

I arrived to the same conclusion, but i still had a little piece of hope

I use the above technic to load my properties. But I can not any more
because I had 8 projects on 3 environnements and now I will still have
these 8 projects (5 more are coming for the end of the year) on 7
environnements. So I will have more than 50 properties file and it is
not possible any more : too much redundancy !

I tried to reduce redudancy with grouping properties, but it multiply
the number of properties file and it is more and more complex. Some
properties are project and environnement independant, others are project
dependant, others are environnement dependant, others are both project
and environnement dependant. And they are cross dependant. :(
>Anyways, if maybe you explained what you are doing as opposed to how
you planned 
>on doing it, could this list provide alternate ways of achieving the
same end, 
>supported natively by Ant.
For a quick example :
The http port on the server is build dependant (each build gives a new
The directories are environnement and the project i want to deploy
The transaction gateway is project dependant (each project has his
The server is environnement dependant (each env has his server)

Until here, no problem ..
But (there are always a "but" ! ) :
Users depends on env and transaction gateway ...
Ejbname depends on directories and users and must be defined to set-up
the others server properties ...
Src repository depends on project,env,build ...
And so one...

Due to cross ref, all the properties must be defined in a single file (I
tried without success to solve this issue), and 50 property files is

If you have a magic solution ;)


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

View raw message