Skip to content
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

Merged
merged 20 commits into from
Jan 19, 2024

Conversation

cstamas
Copy link
Member

@cstamas cstamas commented Jan 17, 2024

Create aether internal "extenders" components to serve several purposes:

  • extender to meddle with exec request, for example to mediate between effective properties SPI (exec request extender)
  • extender to meddle with prepped session and related bits, for example to move out deprecated code from session factory (session extender)

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.
  • SPI can contribute to user properties
  • Session exposed properties are all immutable (sans effective, that is computed on each call).
  • and lastly, a cleanup: all packages within o.a.m.internal.aether are now package protected, to tighten internal encapsulation. New core package o.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

@cstamas cstamas requested a review from gnodet January 17, 2024 20:55
@cstamas cstamas self-assigned this Jan 17, 2024
@cstamas
Copy link
Member Author

cstamas commented Jan 17, 2024

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.

@cstamas cstamas changed the title Session factory extender [MNG-8006] SPI to contribute to effective properties and more Jan 18, 2024
@cstamas cstamas marked this pull request as ready for review January 18, 2024 09:14
@cstamas cstamas requested a review from gnodet January 18, 2024 09:21
Copy link
Contributor

@gnodet gnodet left a 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.

@cstamas cstamas merged commit 6afa477 into apache:master Jan 19, 2024
18 checks passed
@cstamas cstamas deleted the session-factory-extender branch January 19, 2024 11:00
@cstamas cstamas added this to the 4.0.0-alpha-13 milestone Jan 19, 2024
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants