You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Kristian Rosenvold (JIRA)" <ji...@codehaus.org> on 2010/04/08 13:31:24 UTC

[jira] Commented: (MNG-3004) Allow build lifecycle to execute projects in parallel

    [ http://jira.codehaus.org/browse/MNG-3004?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=217168#action_217168 ] 

Kristian Rosenvold commented on MNG-3004:
-----------------------------------------

r931884:

[MNG-3004] Concurrent building of multimodule projects

This commit consists of a modularization of the DefaultLifecycleExecutor into smaller
components. This is primarily done with the intention of extracting execution strategy 
somewhat from the rest of the logic.

It also contains three differenent execution strategies:
A) Linear ("Classic")
B) Parallel (Based on Dan's original implemementation)
C) Weave (Still experimental) 

 
The command line -T option activates parallel running, and the argument
is in the form -T <[nThreads, a float][C][W]|auto>

Notes:
* The output demultiplexer is disabled in this commit, and output will appear intermingled.
* The modello plugin has known problems
* Surefire must be run in forkmode at least once.


> Allow build lifecycle to execute projects in parallel
> -----------------------------------------------------
>
>                 Key: MNG-3004
>                 URL: http://jira.codehaus.org/browse/MNG-3004
>             Project: Maven 2 & 3
>          Issue Type: Improvement
>          Components: Bootstrap & Build, General, Performance
>    Affects Versions: 2.0.6
>            Reporter: Nigel Magnay
>            Assignee: Kristian Rosenvold
>             Fix For: 3.0-beta-1
>
>         Attachments: MNG-3004-Resurrected-StringSearchModelInterpolatorTest.patch, MNG-3004.increased-testability.patch, MNG3004-SSMI.patch, mng3004.patch, mng3004v2_rev2.patch, parallel-builds.patch
>
>
> One of the great advantages with maven over scripted build environments is that it can calculate the dependencies of the build, and it could execute items that are independent of each other in parallel.
> Unfortunately it currently doesn't do this, which would be a big win over tools such as 'ant'. It also means that multicore machines have lots of idle capacity when running a serial build that could be utilised.
> I had a quick shot at seeing what might be required. Bear in mind this is the first time I have looked at maven internally, and I was just trying to feel my way around and build a POC. I got some of the way there, but my build threads don't seem to have the correct classpath - I think this is something to do with plexus / classworlds - but I don't know enough.
> It'd be great to get this feature in a future version, or a way of running my hack (figuring out why in a thread has not the plexus stuff) in the interim.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira