This is interesting. I think the plan I to move aether under the maven
project (at least I was asked to grant my contributions to aether to allow
dual licensing under ASL on the basis of moving the code here... Still not
sure what the status is) so I suspect until that gets resolved aether will
be a fixed point. Once it gets resolved then this sounds like a good
contribution, but I am on my phone so cannot say for sure.

Keep an eye out for news of aether's code landing here/elsewhere and
re-ping at that point if we have forgotten ;-)

On Saturday 26 December 2015, Harald Wellmann <hwellmann...@gmail.com>
wrote:

> When building a project with dependencies not yet available in the local
> repository, I noticed that Maven first downloads the dependency POMs
> sequentially and then proceeds downloading the dependency JARs with up to 5
> threads in parallel, which is not optimal when the POMs are served by a
> high-latency repository manager.
>
> There wasn't a lot of feedback on my enhancement request [1] or my
> original StackOverflow question [2], so I started digging into the source
> code and ended up with a patch [3].
>
> The patch only affects Aether, not Maven Core, but since Aether is not the
> top-level project from the end user perspective and doesn't appear to be
> very active, I thought I'd better contact this mailing list first.
>
> The basic idea of the patch is a clean separation of POM downloading from
> POM processing in DefaultDependencyCollector. Once these steps are
> separated, it is possible to download dependency POMs asynchronously and in
> parallel, while still processing the POM models sequentially to build the
> dependency graph in the correct order.
>
> Since DefaultDependencyCollector holds a lot of global state and has
> rather long methods, I started by refactoring this class into smaller
> chunks to make the underlying logic more transparent. That's why the patch
> looks a bit large, but essentially it only affects a single original class.
>
> I did a local build of Maven 3.4.0-SNAPSHOT using Aether 1.1.0-SNAPSHOT
> with my patch, with all tests passing.
>
> I also ran maven-integration-testing on this patched Maven 3.4.0-SNAPSHOT,
> with no new tests failing. (There is just one test which is broken since a
> recent change on trunk, see [4].)
>
> Thanks for reading this far - it would be great if someone would take the
> time to look into the issue and the patch, and advise how to go on.
>
>
> [1] https://issues.apache.org/jira/browse/MNG-5896
> [2]
> http://stackoverflow.com/questions/32299902/parallel-downloads-of-maven-artifacts
> [3]
> https://github.com/hwellmann/aether-core/commit/cdab4c40094ccf621370647f83ecda54684066ce
> [4]
> https://builds.apache.org/job/maven-3.3-release-status-test-linux/lastCompletedBuild/testReport/
>
> Regards,
> Harald
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
>

-- 
Sent from my phone

Reply via email to