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)