You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Jochen Kuhnle <jo...@kuhnle.net> on 2007/07/03 19:34:17 UTC
Proposal: Task Execution Framework for Plugin Tasks
Some plugins can benefit a lot from parallel execution (e.g. native
compilers, javadoc scanners, report generators, etc.). To not have all
plugins do their own task management, a task execution framework is
suggested.
Plugins can build a task tree out of ParallelTaskGroups,
SequentialTaskGroups and Tasks and hand this tree to Maven for
execution. Maven then builds a task graph out of this task tree and
executes it, ensuring correct task order and maximum parallelism.
For example, a compiler plugin builds the following task tree:
ParallelGroup {
SequentialGroup { CompileTask ScanDependencyFileTask }
SequentialGroup { CompileTask ScanDependencyFileTask }
SequentialGroup { CompileTask ScanDependencyFileTask }
SequentialGroup { CompileTask ScanDependencyFileTask }
}
It then hands the tree to Maven for execution, Maven builds a graph out
of the tree and executes the tasks, parallelizing where possible. Also,
if the maximum number of threads is limited, it never executes more
than this number of tasks in parallel.
In the future, this framework may also simplify clustering of Maven builds.
Regards,
Jochen
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org