-
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-8006] SPI to contribute to effective properties and more #1384
Conversation
maven-core/src/main/java/org/apache/maven/session/RepositorySystemSessionExtender.java
Outdated
Show resolved
Hide resolved
Fixing the UT (changed the source of props) is now beyond my current capabls 😄 but @gnodet i think you see what the goal is: have some internal stuff that mediates. |
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.
I think we need an IT. I have some doubts on the fact that properties set by an EffectivePropertyContributor
will end up in the maven session and made available for project interpolation...
They are currently set in the repository session's configProperties
, but I don't think they are pushed up to user properties and in the maven session.
api/maven-api-core/src/main/java/org/apache/maven/api/services/Properties.java
Outdated
Show resolved
Hide resolved
Undo some changes in UTs not needed anymore.
Create aether internal "extenders" components to serve several purposes:
This PR implements M4 API SPI for contributing effective properties and exposes method for effective properties on
Session
.Session
should expose properties service "ready" for interpolation, otherwise each interpolating code (plugin, etc) would need to construct the "effective" ones themselves, repeating same steps over and over again.Session
exposed properties are all immutable (sans effective, that is computed on each call).o.a.m.internal.aether
are now package protected, to tighten internal encapsulation. New core packageo.a.m.resolver
introduced that contains 2 publicly accessible classes.https://issues.apache.org/jira/browse/MNG-8006
https://issues.apache.org/jira/browse/MNG-8021