No. Not the case. I believe you are confused. You can set a prefix for retrieving environment properties like so...
<property environment="env"/> This will allow you to retrieve environment variable as you say, however the existence of ${env.MYDIR} does not mean that a property named ${env} exists. In fact, I often use the ${env} property as I recommended as well as using "env" as a prefix for environment properties in the same build file without conflict or overlap. Play around with it in a build.xml file and see for yourself. -Rob Anderson > -----Original Message----- > From: bill/wilandra [mailto:[EMAIL PROTECTED] > Sent: Monday, May 22, 2006 10:57 AM > To: 'Ant Users List' > Subject: RE: Dynamic references to properties files > > Isn't env a well known property for retrieving op sys > environment vars (e.g., ${env.MYDIR})? If so, can it ever not > be set? If it is always set then the <fail unless="env"> will > never fail regardless of whether the user sets the env > property or not on the command line. > > Bill > > -----Original Message----- > From: Anderson, Rob (Global Trade) [mailto:[EMAIL PROTECTED] > Sent: Monday, May 22, 2006 10:11 AM > To: Ant Users List > Subject: RE: Dynamic references to properties files > > You examples below are a little confusing, so forgive me if I > am completely missing the mark with this advice. > > My suggestion is to not try to fit all the properties into a > single file. > Try creating a properties file for each environment. > > dev.properties > =============== > webpath=http://localhost:7001/cis-7.6.0 > > qa.properties > ============= > webpath=http://some-server.com:8185/cis-7.6.0 > > staging.properties > ============== > webpath=http://some-server2.com:8185/cis-7.6.0 > > Then in your build.xml you can load the appropriate > properties file based on the value of another property, like > ${env} for example. > > build.xml > =========== > ... > <property file="${env}.properties"/> > ... > <!-- make sure the user set the env property when running ant > --> <fail unless="env">You must specify the env property on > the command line. For > example: > ant -Denv=dev > </fail> > > So based in the value of ${env} you will have a different > value for ${webpath}. You can do the same for other > environment specific properties as well. > > I hope this helps. > > -Rob Anderson > > > -----Original Message----- > > From: Sunil Goklani [mailto:[EMAIL PROTECTED] > > Sent: Friday, May 19, 2006 6:06 PM > > To: user@ant.apache.org > > Subject: Dynamic references to properties files > > > > Hi All, > > > > I had a question on how I could use two variables to access > > information from my properties files. I am trying to build an ant > > script to generate configuration files for all of my > development, qa, > > and staging environments. > > > > For example I have the following in a properties file: > > > > #Configuration for adapterconfig.xml > > adapterconfig.webpath=<property > > name="webPath">http://localhost:7001/cis-7.6.0</property> > > assem1-adapterconfig.webpath=<property > > name="webPath">http://some-server.com:8185/cis-7.6.0</property> > > assem2-adapterconfig.webpath=<property > > name="webPath">http://some-server2.com:8185/cis-7.6.0</property> > > > > The first property is what developers use and check/label into the > > cvs. The other values are what I am supposed to have for my > > respective environments. > > > > Suppose I input "-Dset.environment=assem1" as a command > line argument. > > Is there a way possible for me to access the value of > > ${assem1-adapterconfig.webpath} with a variable combination of > > "${${set.environment}-${adapterconfig.webpath}}". > > > > I tried it like that and I got an error because it was > replacing the > > actual value of "adapterconfig.webpath" before it even got > to where I > > wanted it to. > > > > Second approach: > > > > I created a temp property and built out the correct string > <property > > name="p-temp" > > value="${set.open}${set.environment}-adapterconfig.webpath${se > > t.close}"/> > > the set.open and set.close are the ${ and } respectively. > > However now in my > > destination file, it actually replaces with: > > "${assem1-adapterconfig.webpath}" and not the value itself. > > Is there anyway > > I can make ant recognize this string as a property? > > > > Thanks all in advance! > > > > _________________________________________________________________ > > Express yourself instantly with MSN Messenger! Download today > > - it's FREE! > > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] For > additional > > commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] For > additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] For > additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]