It seems we have 4 things to balance, and some are conflicting. First - top level tasks, it seems we all agree we should allow them and that they should be executed before anything else. There are 3 options: - execute as you read ( that's how ant1.5 works for the special tasks and how 1.0 worked for all tasks ). - as a virtual target, handled by ProjectHelper - as a virtual target handled by the normal dependencies ( i.e. each other target will have automatically a dep on "" ).
This choice has a big impact on <import> or any other task that is going to affect the project structure. In the first case, <import> will read the other file _before_ the targets in the main build.xml are read. That's how Nicola's original patch worked. With the second choice, <import> will read the other file _after_ the build.xml is read. It can then alter the project structure. With the third choice, things are a bit more difficult - when <import> is executed, all dependencies are resolved and things get more difficult to implement. "projecthelp" is adding another dimension: I think it should list all the targets in build.xml and also those imported. That won't work with the third choice. Finally, for targetless files - the first 2 choices are really bad, because projecthelp would actually execute the build instead of just listing the targets. What should we do ? One solution that would clarify things would be to somehow ( marker Interface, metadata, etc ) indicate which task is 'active' ( javac, copy, etc ) and which is 'initialization' ( property, taskdef, import ). Another solution is to give up one ( projecthelp, import or targetless ). We can reimplement projecthelp to not use ProjectHelper ( or add a flag to just read descriptions ). At this moment both the main ProjectHelper ( using the 3-rd choice ) and ProjectHelper2 ( using 2-nd ) have problems. A second question is what to do for the 1.5 plugin. Costin On 22 Jul 2002, Stefan Bodewig wrote: > On Fri, 19 Jul 2002, <[EMAIL PROTECTED]> wrote: > > > They'll still be added to an implicit target, and that target > > will be executed first. But instead of achieving this by > > adding the special target as a dependency to each other target > > and relying on the deps graph, it'll be executed explicitely, > > after the parsing and construction of the model. > > How will you avoid running them in > > ant -projecthelp > > Stefan > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
