Mmm,
the manual states:
"""
A target also has the ability to perform its execution if (or unless)
a property has been set. This allows, for example, better control on
the building process depending on the state of the system (java
version, OS, command-line property defines, etc.). To make a target
sense this property, you should add the if (or unless) attribute with
the name of the property that the target should react to. Note: Ant
will only check whether the property has been set, the value doesn't
matter. A property set to the empty string is still an existing
property. For example:
<target name="build-module-A" if="module-A-present"/>
<target name="build-own-fake-module-A" unless="module-A-present"/>
In the first example, if the module-A-present property is set (to any
value, e.g. false), the target will be run. In the second example, if
the module-A-present property is set (again, to any value), the target
will not be run.
"""
I do not know how it could be more explicit.
Peter
On Feb 5, 2008 3:08 PM, Dean Schulze <[EMAIL PROTECTED]> wrote:
> Rainer,
>
> You couldn't be more wrong about the lack of documentation of the non-use of
> the ${} notation in if / unless.
>
> The section about targets DOES NOT say that you don't use the ${} notation
> for if / unless. It does say this, however:
>
> 'This is done by placing the property name between "${" and "}" in the
> attribute value.'
>
> which leads you to believe that you need ${} notation wherever you need a
> property in an attribute, such as in if / unless.
>
> How about helping your users out and making it clear that you don't use ${}
> notation with if / unless, in marked contrast to everywhere else in Ant.
>
> Since if / unless are apparently the only place in Ant where you don't use
> ${} notation that fact should also be pointed out explicitly so people don't
> forget the ${} notation elsewhere.
>
>
>
>
> Rainer Noack <[EMAIL PROTECTED]> wrote: Hi Dean,
>
> ${} refers to the value of a property.
> if / unless attributes refers to the existence (i.e. name) of a property.
>
> IMHO, the different notation is reasonable.
>
> However, this syntax and behaviour is pointed out explicitely in the manual:
> ->Using Ant->Targets
>
> Cheers
>
> Rainer
>
> -----Ursprüngliche Nachricht-----
> Von: Dean Schulze [mailto:[EMAIL PROTECTED]
> Gesendet: Samstag, 2. Februar 2008 16:15
> An: [email protected]
> Betreff: Need documentation change for if / unless
>
>
> I filed this bug regarding the use of the if and unless attributes of
>
> :
>
> http://issues.apache.org/bugzilla/show_bug.cgi?id=44315
>
> Matt Benson pointed out that the problem is that you don't use the ${}
> notation when naming a property in an if or unless attribute. This is
> confusing because everywhere else in Ant when you reference a property you
> use the ${} notation.
>
> The documentation for Targets doesn't mention this:
>
> http://ant.apache.org/manual/using.html#targets
>
> The fact that you don't use ${} notation for the if / unless attributes
> needs be made explicit in the documentation.
>
> Are there any other places where you use a property without using the ${}
> notation? If so these also need to be made explicit. If the if / unless
> attributes are the only place where this applies that should also be noted
> in the documentation for if / unless.
>
> Thanks.
>
> Dean
>
>
>
> ---------------------------------
> Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it
> now.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
> ---------------------------------
> Looking for last minute shopping deals? Find them fast with Yahoo! Search.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]