maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nigel Magnay (JIRA)" <>
Subject [jira] Commented: (MNG-3004) Allow build lifecycle to execute tasks in parallel
Date Mon, 05 Jan 2009 18:40:20 GMT


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:
>             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:
For more information on JIRA, see:


View raw message