ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Conor MacNeill" <>
Subject Re: Order of Depends
Date Wed, 21 Feb 2001 13:11:28 GMT

I guess the issue is whether by saying <x depends="a, b, c">, you mean

"a, b and c have to up to date before x can be brought up to date"


"a must be brought upto date, then b, then c and only then x"

To parallel up a, b and c would be a level of multithreading which we have
not considered to date. Up to now, we have only really discussed,
paralleling tasks within a target. I do not think I am that comfortable
with multithreading targets. While in the end it may not be much different
functionally to paralleling tasks, I must admit it feels different. Tasks
within a target have a cohesion implied by the ant structure, which targets
do not.

So, let us put the paralleing of targets to one side for a moment. To me
the question becomes whether by tying down a strictly sequential evaluation
of dependencies, we may be limiting ourselves from a future optimisation.
By not making guarantees about dependency order, do we give ourselves
potential to optimise things, if that becomes possible?

As for your argument that, if paralleling, the dependency targets should be
at least started in the given order, I don't think it would buy you much.
If I start a thread for one target, there would be no guarantee that it did
anything before a thread which I may start later. It could appear that the
second thread started before the first.

Anyway, If we do adopt a less restictive guarantee, it will be in the Ant
2.0 timeframe (not that I can say when that might be).


----- Original Message -----
From: "Christoph Wilhelms" <>
To: <>
Sent: Wednesday, February 21, 2001 11:25 PM
Subject: RE: Order of Depends

> Hi Pete!
> > >Agreed, but am I right when I say, that, even in future, the target
> > >threads will be STARTED in the order specified in the depend-
> > >parameter.
> >
> > not necessarily - they start in whatever order seems fun for the
> > implementor - perhaps even random so that bad build files fail fast ;)
> What implementor do you mean? Somebody (=some code ;-) has to parse the
> depends-property and initiate the targets and the tasks in the targets to
> be started and IMHO this SHOULD have a given order! You can't start
> multiple tasks REALLY at the same time (unles you have a multi-processor
> machine ;-)). Why start randomly by default?
> However, we can talk about sense and nonsense of it longer, but for
> thread build I'd expect that depends will work in the given order - even
> in future (2.0). It's a fairly good feature, even if it's not specified!
> Why get rid of it...?!?
> > usually I get this by
> >
> > > ant[.bat] buildall cleanall
> >
> > which will execiute target "buildall" and then "cleanall"
> I am a lazy GUI user and I may want to start my targets "like I want".
> You are right when you say that ANT(.BAT) with parameters does it
> simlilaer :-)
> Greetings,
> Chris
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

View raw message