Add settings registration for Java modules through SPI (#98857)

Currently plugins register settings through Plugin.getSettings. For
easier breakdown of the codebase, it would be nice to allow arbitrary
Java modules to register settings. This commit adds an internal
SettingsExtension SPI which acts just like Plugin.getSettings but from a
purely static context.
This commit is contained in:
Ryan Ernst 2023-08-25 07:00:49 -07:00 committed by GitHub
parent 8bce88c19b
commit 47c1d99ae0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 41 additions and 1 deletions

View file

@ -371,7 +371,11 @@ module org.elasticsearch.server {
exports org.elasticsearch.action.datastreams.lifecycle;
exports org.elasticsearch.action.downsample;
exports org.elasticsearch.plugins.internal to org.elasticsearch.metering, org.elasticsearch.settings.secure;
exports org.elasticsearch.plugins.internal
to
org.elasticsearch.metering,
org.elasticsearch.settings.secure,
org.elasticsearch.serverless.constants;
provides java.util.spi.CalendarDataProvider with org.elasticsearch.common.time.IsoCalendarDataProvider;
provides org.elasticsearch.xcontent.ErrorOnUnknown with org.elasticsearch.common.xcontent.SuggestingErrorOnUnknown;
@ -386,6 +390,7 @@ module org.elasticsearch.server {
uses org.elasticsearch.node.internal.TerminationHandlerProvider;
uses org.elasticsearch.internal.VersionExtension;
uses org.elasticsearch.internal.BuildExtension;
uses org.elasticsearch.plugins.internal.SettingsExtension;
provides org.apache.lucene.codecs.PostingsFormat
with