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: dev@ant.apache.org > 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]