ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chuck Holzwarth <>
Subject Re: extended parallelism
Date Tue, 18 Dec 2007 17:07:14 GMT
It may be better to stay away from a grammar that gives the rules and use something like:

  <target name="d" depends="e" ... </target>
 <target name="e" " ...  <parallelexecute targets="a,c" ... </parallelexecute>
... </target>
 <target name="c" depends="b" ... </target>
 <target name="b" ... </target>

How do you propose to handle potential fatal/non fatal errors? If target a exits due to an
error, should there be an option to kill a or allow it to complete (similar to failonerror="yes/no")?
If both a and (b,c) must succeed for d, should a be killed if b or c fails? That would indicate
a method (stack, shared memory, etc.) for tracking the result of the sub processes.

I have done parallel builds with make in the past using multiple systems with shared drives
and file based information passing. It was not difficult, but error handling was always the

Klaus Malorny <> wrote: 

with the increased availability of multi-core systems, I am wondering whether
there are ways to improve the capabilities of Ant to parallelize the build
process. While it is possible to execute tasks in parallel within a target, it
seems to not be simple to execute multiple targets in parallel. My vision is
an extension to the "depends" attribute: if a pipe is used instead of a comma,
the target does not care about the order and the targets may be executed in 
parallel by Ant. I would also add parenthesis to group things. For example, "(a 
| (b, c)), d)" means, c must be executed after b, but both may be executed in 
parallel to a, while d must be executed only after completion of a, b and c. Of 
course, more constraints may occur in the dependent targets, e.g. if c depends 
on a, they can't be executed in parallel. Just an idea, feel free to ignore it ;-)


To unsubscribe, e-mail:
For additional commands, e-mail:

Thank you,
Chuck Holzwarth
(804) 403-3478 (home)
(540) 335-3171 (cell)
Be a better friend, newshound, and know-it-all with Yahoo! Mobile.  Try it now.
  • Unnamed multipart/alternative (inline, 8-Bit, 0 bytes)
View raw message