ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Costin Manolache <>
Subject PROPOSAL: top level execution order
Date Tue, 26 Nov 2002 22:13:44 GMT
I think this is the crucial issue for embed.

We agreed on allowing top-level tasks. There are 2
implementations - one made by Stefan on the main branch
and one in embed. 

In both cases a dummy target is created and 
all top-level stuff is placed in this target. 

The difference is on the execution: 

- in the main branch, the top-level target is added
as a dependency to all other targets. The dependency 
resolver will compute the execution graph and make it 
the first. This happen in execute(), after the XML
processing is completed.

- in [embed], the top-level target is executed _before_
resolving dependencies, as part of the XML processing

The main consequence is that in [embed] we can have top-level
tasks that operate on the build tree and affect the dependencies.
Import ( and any similar task that will operate on the 
tree level ) needs that.

The downside is that if tasks like <echo> or <javac> are used at top level,
they will be executed when -projecthelp is called. 

Unfortunately it is not possible to implement -projecthelp 
and also allow <javac> _and_ allow import in a clean way. 
The only solution is to document this and explain the
behavior - IMO javac at top level is a bad idea in the first place.

Opinions ?

I need a closure on this before anything else - if we keep
the current behavior then <import> and a lot of other stuff
will need to be rewritten ( so far I don't know any clean way
to do it ).

Stefan - can you live with the top-level processing in embed ?


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

View raw message