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]