--- Klaus Malorny <[EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] wrote:
>
> > Oh, have to have a look at that. If I change the
> semantic this has to be
> > made explicit ...
> > (It can be done because you have to specify the
> executor for your own
> > ...)
> >
> > "Ant tries to execute the targets in the depends
> attribute in the order
> > they appear (from left to right)." [1].
> > Ant 'tries' - so I wouldnt rely on that ... ;)
> > Especially if you read the example direclty under
> that: the order doesnt
> > matter if the dependend targets have dependencies
> for their own.
> >
> >
> > The note about the "init" target is an old one -
> not invalid, but no
> > more needed: you can place tasks directly under
> <project> (since 1.6).
> > The next two sentences "always first element in
> depends clause" + "in
> > the depends clause of each target" are redundant:
> if I specify that init
> > in each target, it does not matter where I put it
> in the depends-list.
> >
> >
> > Target.setDepends(String s): (basically)
> > List deps;
> > for(String s2 : s.split(",")) {
> > deps.add(s2);
> > }
> >
> >
> > Manual is not clear (as clear in a
> "specification") but the code sais
> > that there is an order.
> > So I would just document that. It is the users
> possibility of using the
> > executor or not.
> >
> > Or do you have another idea for parallelizing?
> >
> >
> >
> > Jan
> >
>
> Well, I just tried the following:
>
> <project name="test">
> <target name="a" depends="b, c">
> <echo>a</echo>
> </target>
>
> <target name="b" depends="c">
> <echo>b</echo>
> </target>
>
> <target name="c">
> <echo>c</echo>
> </target>
> </project>
>
>
> Target b changes the the order of the execution
> defined in a, i.e. c-b-a is
> executed. So it seems that the order is simply a
> suggestion, but not a mandatory
> condition. This would mean that your approach of
> parallelizing targets would be
> valid, but I wouldn't bet that nobody would get
> problems with their existing
> build files.
As I understand it, the order is respected under
simple circumstances, but ultimately the dependency
graph is calculated such that a dependency is executed
however early it must be to ensure that every target's
dependencies precede it. That said, the above example
wouldn't benefit from parallel processing because b
waits for c and a waits for b.
Jan: Alexey had been working on a parallel executor
at one time--in fact this was one of the motivations
for the creation of the Executor interface--but I
never saw it come to fruition. From an initial
eyeball of your code this looks like great work. :)
-Matt
>
> Klaus
>
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
>
>
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now.
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]