On Fri, Sep 25, 2009 at 8:16 AM, Jesse Glick <jesse.gl...@sun.com> wrote:
> Refined proposal:
>
> 1. Make <target> evaluate if/unless attributes (just before deciding whether
> or not to run the target).
>
> 2. Introduce Project.isTrueOrSet(String val) which would return true if
> toBoolean(val) || getProperty(val) != null.
>
> 3. Call iTOS from <target>, <fail>, etc. - anything with if/unless
> attributes with the standard meaning.
>
> Now <target if="doSomething"> would behave as before, for better or worse.
> But you could also write <target if="${doSomething}"> and it would work as
> most novice Ant users would expect: run the target if doSomething is defined
> but also set to 'true' (or 'on' or 'yes'). Similarly for <fail> and friends.

I like Jesse's proposal. It fits well with the principle of least
surprise, on both
the new user front, since ${foo} is correctly interpreted in boolean cases, and
for existing users too, since the existing behavior of testing
property existence
remains. So +1 from me. Anything more is not really needed IMHO. --DD

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org

Reply via email to