At 08:00 AM 7/12/2002 -0500, you wrote:
This is because Ant1.x delays evaluation of some constructs until they are referenced. Where as in Ant2 the idea was to unify all evaluation of "build model" to when execution occurs. So in Ant2, the <path/> data type would be evaluated imediately before any target was executed and thus would generate an exception regardless of target.

That seems like a very undesirable change. Referencing datatypes is primarily used to minimize boilerplate constructs and having a reference to a datatype mean something different than the same content expanded inline seems very undesirable. That would mean resorting to entity expansion to use the same boilerplate constructs in different contexts.

I think you misunderstood. Currently, when <path/> appears in build file there may not be a physical object instantiated ever. Instead a tree of UnknownElements (or is it RuntimeElements, I can never remember) may be created. This may only be resolved to a real object the first time the object is referenced. ie an instance of o.a.t.a.types.Path is only created when the object is referenced. If it is never referenced then it is never instantiated.


Any clearer?

Other build systems GNUMake (and CONS from what I hear) explicitly allow user to declare whether filesets are re-evaluated every reference or just once etc. I would love for Ant to get to the same level of clarity.

I would think the easiest way would be to control the timing of the fileset evaluation by its placement in targets, but allow the result set from a previous evaluation to be used. Maybe something like:

Quite possible - other people have favoured the "live" interpretation like make defaults to. Whatever the case it is incompatible with the way ant1.x works. Changing the way ant1.x works now would break oodles of build files and is not really an option.


Cheers,

Peter Donald
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"Faced with the choice between changing one's mind,
and proving that there is no need to do so - almost
everyone gets busy on the proof."
             - John Kenneth Galbraith
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>



Reply via email to