-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[MNG-8451] Core inject depMgt for plugin resolution #2000
base: master
Are you sure you want to change the base?
Conversation
There is a change (but in implementation only!) that prevents japicmp to load up (impl) classes: ignore those, we are really interested in API only.
This works cool, but breaks https://issues.apache.org/jira/browse/MNG-5783 |
.setVersion(managedDep.getArtifact().getVersion())); | ||
} | ||
// align scope | ||
pluginDep = pluginDep.setScope(managedDep.getScope()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we flag them as system
scope ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
... to avoid downloading the jars ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but there is more to this PR, it breaks https://issues.apache.org/jira/browse/MNG-5783 We need to implement the proposed fix in refd issue (real classpath vs ${plugin.artifacts}
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Former contains plugin stuff + maven core imported (as one), while latter should contain all JARs
Maven Core injects "own provided" artifacts when resolving plugins, instead to let the resolve and then just leave out from the classpath, this makes much less downloads happening.
Example of effects of this PR: Rebuilding Maven master with empty local repository, and after the build:
(this PR basically makes unnecessary to set "maven core dependencies to provided" anymore, as it will NOT download those unused versions, given core is providing itself instead)
Note: Maven master sports "quite fresh" (and aligned) plugins, and almost all are fixed re "provided" scope, hence this difference is not big, but it would be much more visible on some build using "higher range" of non aligned plugins.
https://issues.apache.org/jira/browse/MNG-8451