One of my pain points with Maven is how slow it is to "download the internet", so rather than bitch (or more accurately, continue bitching), I decided to do something about it. I created a customized build of Maven 2 (MNG-3379, WAGON-98) that, at least in my simple tests, cut the dependency resolution time down by as much as 40%.
Two key components to this speedup: * Connection pooling: Uses the http wagon instead of http-lightweight and fixed incorrect http client initialization * Parallel resolution of artifacts - Uses a thread worker pool to parallelize artifact resolution I had hoped to make this change as a plugin, but I had to hack a bit in the core of Maven and Wagon to get it to work correctly. The patch as provided has a few disadvantages: * Requires Java 5, but the backport jars could be substituted pretty easily * Breaks some plugins due to commons-logging being in the Maven uber jar (required by commons-httpclient), notably the apt plugin (maybe more should use the isolatedRealm setting?) * Screws up the progress monitor as multiple threads are updating it Anyways, it'd be cool to get a version of this in Maven, but until then, if you want to give it a go, I put the uber jar up on my Apache space. I should be a drop-in replacement for any recent version of Maven (tested with 2.0.7): http://people.apache.org/~mrdon/maven-2.0.9-SNAPSHOT-uber.jar Don --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]