You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "wei cai (Jira)" <ji...@apache.org> on 2023/02/17 13:03:00 UTC

[jira] [Created] (MRESOLVER-324) Make the BF algorithm as the default option to speed up maven dependency resolution and downloading

wei cai created MRESOLVER-324:
---------------------------------

             Summary: Make the BF algorithm as the default option to speed up maven dependency resolution and downloading
                 Key: MRESOLVER-324
                 URL: https://issues.apache.org/jira/browse/MRESOLVER-324
             Project: Maven Resolver
          Issue Type: Wish
          Components: Resolver
    Affects Versions: 1.10.0
            Reporter: wei cai


This is a WISH type Jira :D. So far, Maven 3.9.0 has released a BF algorithm which includes changes from below JIRAs along with the DF option (default).
 * MRESOLVER-228
 * MRESOLVER-247
 * MRESOLVER-7

The BF algorithm solves:
 * Solve cache missing issue when comes to resolve heavy dependencies with different exclusions, it can help speed up dependency resolution especially for large scale enterprise level projects.
 * Improve download speed by:
 ** Skip download poms for conflict losers.
 ** Download poms in parallel.

Below is the introduction in https://maven.apache.org/docs/3.9.0/release-notes.html:

 
{noformat}
Choice of resolver collectors: a new BF collector (with parallel POM downloads) has been added along the existing DF one.{noformat}
 

The solution is already widely adopted at eBay. You can simply enable it by putting below config into file: ${maven.projectBasedir}/.mvn/maven.config

 
{code:java}
aether.dependencyCollector.impl=bf {code}
More introduction about this option:

[https://maven.apache.org/resolver/configuration.html]

Please try and tells us how much it helps by running:

 
{code:java}
1. mvn clean install -DskipTests -Dmaven.repo.local=bf -Daether.dependencyCollector.impl=bf 

2. mvn clean install -DskipTests -Dmaven.repo.local=df{code}
 

With more feedback collected, we would be able to propose the changes to make BF as the default.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)