Tamás Cservenák created MNG-7097:
------------------------------------

             Summary: Plugin Dependency Resolution
                 Key: MNG-7097
                 URL: https://issues.apache.org/jira/browse/MNG-7097
             Project: Maven
          Issue Type: Task
          Components: Performance, Plugins and Lifecycle
            Reporter: Tamás Cservenák


Current Maven behavior for resolving plugin dependencies is to download full 
transitive graph of plugin dependencies, and then, filter out core artifacts 
from it.

This results in unnecessary downloads of core artifacts, multiplied by multiple 
versions used by different plugins, and local repository end up having 
artifacts that may even surprise users.

Most notable examples: maven-core (user: "Why did Maven download maven-core-X 
when I use maven-Y?"), plexus-container-default (user: "Why does Maven download 
10+ legacy artifact, when sisu-inject-plexus shim is used instead?"), 
plexus-utils etc...

We meed to better investigate what exactly happens with downloaded but unused 
core artifacts (if they are completely excluded based on GAV, we are safe), and 
simply exclude them even from resolution/collection, as they are really not 
needed.

This will not "improve build speed", but does lessen "bandwidth", as 
experiments shows that cutting plugin dependencies for core artifacts for Maven 
project itself makes about 1k less remote requests (artifact and artifact 
checksum downloads).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to