You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Nigel Magnay (JIRA)" <ji...@codehaus.org> on 2009/01/05 19:40:20 UTC

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

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

Nigel Magnay commented on MNG-3004:
-----------------------------------

My original intent was so that all activities could run in parallel, to the granularity of a particular project. 

I.E if projects A B and C all depend on project X (and nothing else), then after 'mvn install' finishes on 'X', 'mvn install' can be executed, in parallel, on each of A, B and C.

I stopped trying to get it to work when I realised that the biggest problem is that the local repository isn't safe to be accessed from multiple threads (or even multiple processes for that matter). I think that's a known issue too - I'm guessing that the ability to somehow lock/unlock repository objects (or perhaps use some kind of smarter local repository) is a dependency to getting this to work.

> Allow build lifecycle to execute tasks in parallel
> --------------------------------------------------
>
>                 Key: MNG-3004
>                 URL: http://jira.codehaus.org/browse/MNG-3004
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Bootstrap & Build, General, Performance
>    Affects Versions: 2.0.6
>            Reporter: Nigel Magnay
>             Fix For: 2.1.0-M3
>
>         Attachments: 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