I would use property files:
<property value="which" value="dev" />
<!-- values: dev,stage,prod -->
<property file="${which}.properties" />
If your third instruction is
<property file="default.properties" />
you can set default values which only have to be overwritten.
Although you can load user specific propertyfiles.
All together:
<property value="${user.home}/myprogram.properties" />
<property value="which" value="dev" />
<property file="${which}.properties" />
<property file="default.properties" />
Jan Mat�rne
-----Urspr�ngliche Nachricht-----
Von: Chris Reeves [mailto:[EMAIL PROTECTED]]
Gesendet am: Dienstag, 11. Februar 2003 22:44
An: [EMAIL PROTECTED]
Betreff: Parsing task
I've been searching for a task that would do a little parsing for
me...it seems I've seen this sort of thing before, but that may have
been a dream...
I have two ant xml files for my project - one builds the project
(build.xml), one runs the executable (run.xml) produced by the build;
this second file is simply bundled with the distribution.
It works great - except that the properties in the run.xml must be
changed on a per-environment basis (dev, stage, prod). And I only need
to change a couple of lines.
So, I'd like to have something like:
<!-- ========== mail properties ========== -->
<dev>
<property name="to.address"
value="[EMAIL PROTECTED]"/>
<property name="from.address"
value="[EMAIL PROTECTED]"/>
<property name="smtp.server"
value="myserver.nowhere.com"/>
</dev>
<stage>
<property name="to.address"
value="[EMAIL PROTECTED]"/>
<property name="from.address"
value="[EMAIL PROTECTED]"/>
<property name="smtp.server"
value="myserver.nowhere.com"/>
</stage>
<prod>
<property name="to.address"
value="[EMAIL PROTECTED], [EMAIL PROTECTED]"/>
<property name="from.address"
value="[EMAIL PROTECTED]"/>
<property name="smtp.server"
value="myserver.prod.nowhere.com"/>
</prod>
The end product should contain only the xml relevant for the environment
it was built for.
Also, I know I could run ant with a specific target that sets these
properties, but that means that all properties for all env's would be on
each system.
I suppose I could use xslt to alter the file, but it seems there should
be something easier. I scoured the Hatchet/Loughran book, but didn't
find what I was looking for. Any ideas?
Chris
----------------------------------------
Chris Reeves
Senior Software Developer
Medfusion, Inc.
[EMAIL PROTECTED]
----------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]