The <property> task works as expected. Actually my workaround is based
on the fact that the <property> task works as expected!

<target name="example">
  <property name="arg.value" value="${arg}"
if="${property::exists('arg')}" />
  <property name="arg.value" value=""
unless="${property::exists('arg')}" />
  <exec program="program.exe">
    <arg value="${arg.value}" />
  </exec>
</target>

If the <property> task does not evaluate ${arg} when its 'if' test fails
then perhaps the <arg> element can do the same. Seems logical to me!

-----Original Message-----
From: Merrill Cornish [mailto:[EMAIL PROTECTED] 
Sent: Monday, October 04, 2004 5:36 PM
To: Castro, Edwin Gabriel (Firing Systems Engr.);
[EMAIL PROTECTED]
Subject: Re: [Nant-users] <arg> value expanded prior to if test

Edwin,

In general, compilers (XML or otherwise) expand/evaluate all terms of an
expression before doing the final evaluating the expression.  This means
that the if= attribute of an XML element can never "protect" the
evaluation of the rest of the element.

Merrill


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to