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

Introduce smallrye-config-api module #989

Closed
wants to merge 1 commit into from

Conversation

gastaldi
Copy link
Contributor

@gastaldi gastaldi commented Sep 1, 2023

I went ahead with @dmlloyd's suggestion in #981 (comment) and created the Config interface.

This avoids breaking existing code.

/cc @radcortez @dmlloyd

@gastaldi gastaldi changed the title Introduce EnhancedConfig Introduce io.smallrye.config.Config Sep 5, 2023
dmlloyd
dmlloyd previously approved these changes Sep 6, 2023
Copy link
Contributor

@dmlloyd dmlloyd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks OK to me, as long as we're sticking with methods that were already public and not adding more API. I don't like adding more API - the more API you have, the more "locked in" you are to a design, compatibility-wise.

@radcortez
Copy link
Member

Looks OK to me, as long as we're sticking with methods that were already public and not adding more API. I don't like adding more API - the more API you have, the more "locked in" you are to a design, compatibility-wise.

Ok, how about if we keep it empty, and we add the methods we need as we go?

Also, some time ago we discussed about having an api module for this sort of thing. Should we add it now? Other things should definitely go there too, but they need to live on a different namespace like io.smallrye.config.api. Unfortunately, the implementation root is becoming too cramped :(

@gastaldi gastaldi changed the title Introduce io.smallrye.config.Config Introduce smallrye-config-api module Sep 19, 2023
@dmlloyd
Copy link
Contributor

dmlloyd commented Sep 21, 2023

I'm not so sure about a whole separate module. I think that we are really due for a ground-up rethinking of how this project is put together and consumed. Many of the classes in the implementation module are in fact API, and this project has evolved far beyond the bounds of its original imagining.

Maybe we should go over the list of classes and document approximately how they are used, and maybe try to categorize them, as a starting point. Or have a call where at least the three of us (or more?) talk it through "face to face" and figure out what ought to go where. WDYT?

@radcortez
Copy link
Member

I agree. Probably better if we do the categorized work first, and then we can meet to discuss in detail.

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.

3 participants