ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Wannheden" <knut.wannhe...@paranor.ch>
Subject Re: Getting 1.6 out the door
Date Tue, 02 Sep 2003 07:23:59 GMT
> > > 3. <macrodef> and <presetdef>
> > >
> >   a) resolution of properties
> >      The issue here is that properties get resolved when the
> >      macro is used and not when the macro is defined.
> >      I think that it would be difficult to resolve the
> >      properties correctly when the macro is defined.
> >
> >      I think that the current implementation and behaviour is
> >      preferable.
>
> I think it's sad that you reflect on this from the implementation
> perspective rather than the user's one... One of the major 'feature'
> of Ant is that it is very explicit and relatively simple.
>
> It's not all about power, or one would use a real programming language
> like Perl or Python. <macrodef>, although powerful, complexifies the rules
> of Ant, namely the property expansion one, making it context dependent!
>
> Never underestimate the power and simplicity of context/scope free rules.
> Although Ant already has scopes with <ant>/<antcall>/<subant>, the
property
> expansion rules works the same everywhere, and I'd like this to stay the
> same.
>

Of course you always have to remember that this property expansion doesn't
work the same for targets.  Inside a target the properties aren't expanded
until the target is called.  This may seem obvious, but now that any task
can be at the top-level, a target doesn't feel that different from a task.
It's a task container and in a way not that different from <macrodef>.

Just my $0.02.

--
knut




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


Mime
View raw message