On Tue, 5 Mar 2002, Christoph Thommes <[EMAIL PROTECTED]> wrote:
> I would like to read an environment variable on a Windows machine,
> for example SystemRoot.
>
> Since the environment variable retrieval in Ant is case-sensitive, I
> cannot be sure that
>
> <property environment="env" />
> <property name="SystemRoot" value="${env.SystemRoot}" />
>
> will always return a value. I, therefore, would like to have a
> default value, if no value is available.
Simply assign your default value to env.SystemRoot after the
<property environment="env" /> - if no environment varibale of that
name has been defined, Ant will set your defauklt value. Otherwise it
won't override the original value.
> Is the condition statement going to work the same way in future
> versions of Ant (1.5+)?
No.
But you could do
<condition property="SystemRoot" value="${env.SystemRoot}">
<isset property="env.SystemRoot" />
</condition>
<property name="SystemRoot" value="your-default-value" />
taking advantage of <property> not overriding existing properties.
The Ant 1.4.1 way would be
<condition property="SystemRoot" value="${env.SystemRoot}">
<not>
<equals arg1="${env.SystemRoot}" arg2="$${env.SystemRoot}" />
</not>
</condition>
<property name="SystemRoot" value="your-default-value" />
I'd stick with
<property environment="env" />
<property name="env.SystemRoot" value="your-default-value" />
and use ${env.SystemRoot} through the whole build.
Stefan
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>