ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Benson <gudnabr...@yahoo.com>
Subject Re: AW: AW: extended parallelism
Date Tue, 18 Dec 2007 16:07:46 GMT

--- Klaus Malorny <Klaus.Malorny@knipp.de> wrote:

> Jan.Materne@rzf.fin-nrw.de 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:
> user-unsubscribe@ant.apache.org
> For additional commands, e-mail:
> user-help@ant.apache.org
> 
> 



      ____________________________________________________________________________________
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: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message