Perhaps it is possible to create a dependency between phases, and additionally give targets the possibility to depend on a phase i.e.:
<phase name="phase1" targets="targetA, targetB, targetC" /> <phase name="phase2" targets="targetD, targetE" depends="phase1" /> <phase name="phase3" depends="phase1, phase2" /> <target name="compile" register-to="phase3" /> <target name="build" depends="phase3" /> (please don't mind the names, i'm not following this topic close enough to know them or make suggestions, it's just an example). This way it is possible for a target to rely on having a certain build phases executed. Personally, I don't see a good way of implementing ordering in phases, wheter or not this is desired. However, I think the concept of ordering and the community dependency on this behavior should be taken into this discussion. That was the only point I tried to make :) BTW: there are situation in our product builds where we specify the dependencies the way described by Dominique, using the antContrib runtarget task. I can image that having a dependency task that can be placed at any point inside a target allows more flexibility. Cheers, Remie p.s. Thanks again for taking the time to explain certain behavior and past considerations. Some of my comments and suggestions might feel redundant for those might have already been discussed in the past. On Fri, Nov 14, 2008 at 6:02 AM, Stefan Bodewig <[EMAIL PROTECTED]> wrote: > On 2008-11-13, Bruce Atherton <[EMAIL PROTECTED]> wrote: > > > Conceptually I agree with you, but I think we need to recognize why > > people would want this and to validate their concerns. > > I wasn't advocating we change the current behavior, Ant's own build > file relies on it in much the same way as > > > Consider these targets: > > > <target name="full-build" depends="clean,compile,jar-files">...</target> > > <target name="update-build" depends="compile,jar-files">...</target> > > for example see the way we structure our test targets. > > <target name="run-tests" > depends="dump-info,junit-tests,antunit-tests,check-failed" > > and "check-failed" doesn't depend on anything, so with a different > executor model it might be run before any test has started. > > In the context of phases I think we don't need control over ordering > since the targets that want to add themselves to phases shouldn't > really depend on each other. If they do - that's what I meant to say > - then it smells as if an additional intermediate phase was missing. > > But your example got me thinking. It is pretty easy to imagine that > there would be "build" and "clean-build" phases much like what you > have shown with target. If my target wants to do something only in > the clean-build phase it will most likely make a difference whether it > is run before or after "clean". > > Stefan > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >