On Wed, 27 Nov 2002, Costin Manolache <[EMAIL PROTECTED]> 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. 8-) >> * 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. Stefan -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
