Message-ID: <1539774310.641.1419085901506.JavaMail.firstname.lastname@example.org> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_640_1671236889.1419085901506" ------=_Part_640_1671236889.1419085901506 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Some plugins can benefit a lot from parallel execution (e.g. nat= ive compilers, javadoc scanners, report generators, etc.). To not have all = plugins do their own task management, a task execution framework is suggest= ed.=20
Plugins can build a task tree out of ParallelTaskGroups, SequentialTaskG= roups and Tasks and hand this tree to Maven for execution. Maven then build= s a task graph out of this task tree and executes it, ensuring correct task= order and maximum parallelism.=20
For example, a compiler plugin builds the following task tree:=20 =20
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.=20
In the future, this framework may also simplify clustering of Maven buil= ds.