ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Bodewig <>
Subject Re: PROPOSAL: top level execution order
Date Wed, 27 Nov 2002 17:19:48 GMT
On Wed, 27 Nov 2002, Costin Manolache <> wrote:
> Stefan Bodewig wrote:
>> Another downside of the HEAD version: As I pointed out last week,
>> the way CVS HEAD works breaks backwards compatibilty in a subtle
>> way because <taskdef>s will no longer be executed before the task
>> definitions are encountered by the parser right now.
> That's an upside IMO :-)
> It will lead to more consistent behavior ( especially if combined
> with the generalised lazy eval ).

Quite the opposite - see Conor's example of replacing echo with jar.
It works in 1.5.1 and doesn't in CVS HEAD.  If you put the taskdef
into a target, only the first <echo> is going to work, but not the
second (in both Ants).

So yes, CVS HEAD is more consistent that it breaks in both situations,
but it shouldn't break at all (or at least be consistent in not
allowing the no-child version of echo either).

> If something relies on taskdef beeing executed imediately, then it's
> a bug

good bye replacement of built-in tasks ...

> since we have no guarantee on that

"It's always been that way since <taskdef> has been introduced"
doesn't count?

>> And when the parser detects an error after some of the tasks have
>> been run ...
> Parser ( XML ) errors will be detected in the same way in the main
> build file.

I was talking about the project file parser, not the XML parser.
Things like <target> nested into <target>.

> I agree - we'll introduce many new ways for users to hurt themself,
> but they never lacked that ability.


>> * marker interface for tasks to be run at parser time.
> That's a possible solution - however the biggest limitation (IMO) is
> that users may _need_ to execute all kind of stuff ( url get, etc ?
> ).

I know - I said I wouldn't like it. ;-)

> Every opinion is important. 

This is what I wanted to say.


To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message