From 2cdaabe783fa366b9644b092c080a61a537a6cc8 Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Sat, 14 Jan 2023 09:49:37 +0100 Subject: [PATCH] [Stable plugin api] Drop api suffix in package names (#92905) Refactoring that drops the api suffix from package name This will have to be followed up by a plugins/examples fix in imports Also set an artifact group name to `org.elasticsearch.plugin` in the plugin-api and plugin-analysis-api --- ...alDistributionModuleCheckTaskProvider.java | 4 +- .../StablePluginBuildPluginFuncTest.groovy | 2 +- .../internal/test/StableApiJarMocks.java | 4 +- .../plugin/{api => }/Extensible.java | 2 +- .../plugin/{api => }/NamedComponent.java | 2 +- .../scanner/test_classes/ExtensibleClass.java | 2 +- .../test_classes/ExtensibleInterface.java | 2 +- .../test_classes/TestNamedComponent.java | 4 +- libs/plugin-analysis-api/build.gradle | 1 + .../src/main/java/module-info.java | 6 +-- .../analysis/{api => }/AnalysisMode.java | 2 +- .../analysis/{api => }/AnalyzerFactory.java | 6 +-- .../analysis/{api => }/CharFilterFactory.java | 6 +-- .../{api => }/TokenFilterFactory.java | 6 +-- .../analysis/{api => }/TokenizerFactory.java | 6 +-- libs/plugin-api/build.gradle | 1 + .../plugin-api/src/main/java/module-info.java | 6 +-- .../plugin/{api => }/Extensible.java | 2 +- .../plugin/{api => }/Inject.java | 2 +- .../plugin/{api => }/Nameable.java | 2 +- .../plugin/{api => }/NamedComponent.java | 2 +- .../plugin/{api => }/package-info.java | 8 ++- .../{api => }/settings/AnalysisSettings.java | 2 +- .../{api => }/settings/BooleanSetting.java | 2 +- .../plugin/{api => }/settings/IntSetting.java | 2 +- .../{api => }/settings/ListSetting.java | 2 +- .../{api => }/settings/LongSetting.java | 2 +- .../{api => }/settings/StringSetting.java | 2 +- .../src/main/java/module-info.java | 2 +- .../plugin/scanner/NamedComponentScanner.java | 4 +- .../AnnotatedHierarchyVisitorTests.java | 4 +- .../plugin/scanner/ClassScannerTests.java | 2 +- .../scanner/NamedComponentScannerTests.java | 12 ++--- .../scanner/test_model/ExtensibleClass.java | 2 +- .../test_model/ExtensibleInterface.java | 2 +- .../test_model/TestNamedComponent.java | 4 +- server/src/main/java/module-info.java | 4 +- .../wrappers/SettingsInvocationHandler.java | 10 ++-- .../analysis/wrappers/StableApiWrappers.java | 53 ++++++------------- .../plugins/scanners/ExtensiblesRegistry.java | 3 +- .../scanners/StablePluginsRegistry.java | 2 +- .../plugins/scanners/extensibles.json | 8 +-- .../IncorrectSetupStablePluginsTests.java | 14 +++-- .../StableAnalysisPluginsNoSettingsTests.java | 26 +++++---- ...tableAnalysisPluginsWithSettingsTests.java | 40 +++++++------- .../wrappers/StableApiWrappersTests.java | 49 +++++++++-------- .../plugins/PluginsServiceTests.java | 10 ++-- 47 files changed, 165 insertions(+), 176 deletions(-) rename build-tools/src/testFixtures/java/org/elasticsearch/plugin/{api => }/Extensible.java (94%) rename build-tools/src/testFixtures/java/org/elasticsearch/plugin/{api => }/NamedComponent.java (95%) rename libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/{api => }/AnalysisMode.java (98%) rename libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/{api => }/AnalyzerFactory.java (82%) rename libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/{api => }/CharFilterFactory.java (86%) rename libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/{api => }/TokenFilterFactory.java (90%) rename libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/{api => }/TokenizerFactory.java (81%) rename libs/plugin-api/src/main/java/org/elasticsearch/plugin/{api => }/Extensible.java (94%) rename libs/plugin-api/src/main/java/org/elasticsearch/plugin/{api => }/Inject.java (95%) rename libs/plugin-api/src/main/java/org/elasticsearch/plugin/{api => }/Nameable.java (96%) rename libs/plugin-api/src/main/java/org/elasticsearch/plugin/{api => }/NamedComponent.java (95%) rename libs/plugin-api/src/main/java/org/elasticsearch/plugin/{api => }/package-info.java (76%) rename libs/plugin-api/src/main/java/org/elasticsearch/plugin/{api => }/settings/AnalysisSettings.java (93%) rename libs/plugin-api/src/main/java/org/elasticsearch/plugin/{api => }/settings/BooleanSetting.java (94%) rename libs/plugin-api/src/main/java/org/elasticsearch/plugin/{api => }/settings/IntSetting.java (94%) rename libs/plugin-api/src/main/java/org/elasticsearch/plugin/{api => }/settings/ListSetting.java (94%) rename libs/plugin-api/src/main/java/org/elasticsearch/plugin/{api => }/settings/LongSetting.java (94%) rename libs/plugin-api/src/main/java/org/elasticsearch/plugin/{api => }/settings/StringSetting.java (94%) diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionModuleCheckTaskProvider.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionModuleCheckTaskProvider.java index 0a29741be893..51239853aa12 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionModuleCheckTaskProvider.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionModuleCheckTaskProvider.java @@ -54,8 +54,8 @@ public class InternalDistributionModuleCheckTaskProvider { "org.elasticsearch.geo", "org.elasticsearch.logging", "org.elasticsearch.lz4", - "org.elasticsearch.plugin.analysis.api", - "org.elasticsearch.plugin.api", + "org.elasticsearch.plugin", + "org.elasticsearch.plugin.analysis", "org.elasticsearch.pluginclassloader", "org.elasticsearch.securesm", "org.elasticsearch.server", diff --git a/build-tools/src/integTest/groovy/org/elasticsearch/gradle/plugin/StablePluginBuildPluginFuncTest.groovy b/build-tools/src/integTest/groovy/org/elasticsearch/gradle/plugin/StablePluginBuildPluginFuncTest.groovy index 561c4626285e..9b0a44ad9710 100644 --- a/build-tools/src/integTest/groovy/org/elasticsearch/gradle/plugin/StablePluginBuildPluginFuncTest.groovy +++ b/build-tools/src/integTest/groovy/org/elasticsearch/gradle/plugin/StablePluginBuildPluginFuncTest.groovy @@ -92,7 +92,7 @@ class StablePluginBuildPluginFuncTest extends AbstractGradleFuncTest { file("src/main/java/org/acme/A.java") << """ package org.acme; - import org.elasticsearch.plugin.api.NamedComponent; + import org.elasticsearch.plugin.NamedComponent; import org.elasticsearch.plugin.scanner.test_classes.ExtensibleClass; @NamedComponent( "componentA") diff --git a/build-tools/src/testFixtures/java/org/elasticsearch/gradle/internal/test/StableApiJarMocks.java b/build-tools/src/testFixtures/java/org/elasticsearch/gradle/internal/test/StableApiJarMocks.java index d5d45807f062..a625fef61903 100644 --- a/build-tools/src/testFixtures/java/org/elasticsearch/gradle/internal/test/StableApiJarMocks.java +++ b/build-tools/src/testFixtures/java/org/elasticsearch/gradle/internal/test/StableApiJarMocks.java @@ -11,8 +11,8 @@ package org.elasticsearch.gradle.internal.test; import net.bytebuddy.ByteBuddy; import net.bytebuddy.dynamic.DynamicType; -import org.elasticsearch.plugin.api.Extensible; -import org.elasticsearch.plugin.api.NamedComponent; +import org.elasticsearch.plugin.Extensible; +import org.elasticsearch.plugin.NamedComponent; import org.elasticsearch.plugin.scanner.test_classes.ExtensibleClass; import org.elasticsearch.plugin.scanner.test_classes.ExtensibleInterface; diff --git a/build-tools/src/testFixtures/java/org/elasticsearch/plugin/api/Extensible.java b/build-tools/src/testFixtures/java/org/elasticsearch/plugin/Extensible.java similarity index 94% rename from build-tools/src/testFixtures/java/org/elasticsearch/plugin/api/Extensible.java rename to build-tools/src/testFixtures/java/org/elasticsearch/plugin/Extensible.java index 1a1f10f11c3e..34984b90d3c7 100644 --- a/build-tools/src/testFixtures/java/org/elasticsearch/plugin/api/Extensible.java +++ b/build-tools/src/testFixtures/java/org/elasticsearch/plugin/Extensible.java @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -package org.elasticsearch.plugin.api; +package org.elasticsearch.plugin; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/build-tools/src/testFixtures/java/org/elasticsearch/plugin/api/NamedComponent.java b/build-tools/src/testFixtures/java/org/elasticsearch/plugin/NamedComponent.java similarity index 95% rename from build-tools/src/testFixtures/java/org/elasticsearch/plugin/api/NamedComponent.java rename to build-tools/src/testFixtures/java/org/elasticsearch/plugin/NamedComponent.java index 65a1a0d46abd..53b195313ecc 100644 --- a/build-tools/src/testFixtures/java/org/elasticsearch/plugin/api/NamedComponent.java +++ b/build-tools/src/testFixtures/java/org/elasticsearch/plugin/NamedComponent.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.api; +package org.elasticsearch.plugin; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/build-tools/src/testFixtures/java/org/elasticsearch/plugin/scanner/test_classes/ExtensibleClass.java b/build-tools/src/testFixtures/java/org/elasticsearch/plugin/scanner/test_classes/ExtensibleClass.java index b76f6dd93f9d..50ea17993d7c 100644 --- a/build-tools/src/testFixtures/java/org/elasticsearch/plugin/scanner/test_classes/ExtensibleClass.java +++ b/build-tools/src/testFixtures/java/org/elasticsearch/plugin/scanner/test_classes/ExtensibleClass.java @@ -8,7 +8,7 @@ package org.elasticsearch.plugin.scanner.test_classes; -import org.elasticsearch.plugin.api.Extensible; +import org.elasticsearch.plugin.Extensible; @Extensible public class ExtensibleClass {} diff --git a/build-tools/src/testFixtures/java/org/elasticsearch/plugin/scanner/test_classes/ExtensibleInterface.java b/build-tools/src/testFixtures/java/org/elasticsearch/plugin/scanner/test_classes/ExtensibleInterface.java index c630bf216883..784136bf6f5a 100644 --- a/build-tools/src/testFixtures/java/org/elasticsearch/plugin/scanner/test_classes/ExtensibleInterface.java +++ b/build-tools/src/testFixtures/java/org/elasticsearch/plugin/scanner/test_classes/ExtensibleInterface.java @@ -8,7 +8,7 @@ package org.elasticsearch.plugin.scanner.test_classes; -import org.elasticsearch.plugin.api.Extensible; +import org.elasticsearch.plugin.Extensible; @Extensible public interface ExtensibleInterface {} diff --git a/build-tools/src/testFixtures/java/org/elasticsearch/plugin/scanner/test_classes/TestNamedComponent.java b/build-tools/src/testFixtures/java/org/elasticsearch/plugin/scanner/test_classes/TestNamedComponent.java index a98e6b08a797..9a6b9b648e3a 100644 --- a/build-tools/src/testFixtures/java/org/elasticsearch/plugin/scanner/test_classes/TestNamedComponent.java +++ b/build-tools/src/testFixtures/java/org/elasticsearch/plugin/scanner/test_classes/TestNamedComponent.java @@ -8,7 +8,9 @@ package org.elasticsearch.plugin.scanner.test_classes; -@org.elasticsearch.plugin.api.NamedComponent("test_named_component") +import org.elasticsearch.plugin.NamedComponent; + +@NamedComponent("test_named_component") public class TestNamedComponent implements ExtensibleInterface { } diff --git a/libs/plugin-analysis-api/build.gradle b/libs/plugin-analysis-api/build.gradle index 184295ebdcc5..50807a78ff57 100644 --- a/libs/plugin-analysis-api/build.gradle +++ b/libs/plugin-analysis-api/build.gradle @@ -9,6 +9,7 @@ apply plugin: 'elasticsearch.publish' apply plugin: 'elasticsearch.build' +group = "org.elasticsearch.plugin" tasks.named("loggerUsageCheck").configure {enabled = false } diff --git a/libs/plugin-analysis-api/src/main/java/module-info.java b/libs/plugin-analysis-api/src/main/java/module-info.java index 899a5cd58a14..4652e6b77f7c 100644 --- a/libs/plugin-analysis-api/src/main/java/module-info.java +++ b/libs/plugin-analysis-api/src/main/java/module-info.java @@ -6,9 +6,9 @@ * Side Public License, v 1. */ -module org.elasticsearch.plugin.analysis.api { +module org.elasticsearch.plugin.analysis { requires org.apache.lucene.core; - requires org.elasticsearch.plugin.api; + requires org.elasticsearch.plugin; - exports org.elasticsearch.plugin.analysis.api; + exports org.elasticsearch.plugin.analysis; } diff --git a/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/AnalysisMode.java b/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/AnalysisMode.java similarity index 98% rename from libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/AnalysisMode.java rename to libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/AnalysisMode.java index f6a1e4ba70ca..5180b3168fcb 100644 --- a/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/AnalysisMode.java +++ b/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/AnalysisMode.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.analysis.api; +package org.elasticsearch.plugin.analysis; /** * Enum representing the mode in which token filters and analyzers are allowed to operate. diff --git a/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/AnalyzerFactory.java b/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/AnalyzerFactory.java similarity index 82% rename from libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/AnalyzerFactory.java rename to libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/AnalyzerFactory.java index 625f753a46d2..dfda8f292910 100644 --- a/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/AnalyzerFactory.java +++ b/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/AnalyzerFactory.java @@ -6,11 +6,11 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.analysis.api; +package org.elasticsearch.plugin.analysis; import org.apache.lucene.analysis.Analyzer; -import org.elasticsearch.plugin.api.Extensible; -import org.elasticsearch.plugin.api.Nameable; +import org.elasticsearch.plugin.Extensible; +import org.elasticsearch.plugin.Nameable; /** * An analysis component used to create Analyzers. diff --git a/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/CharFilterFactory.java b/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/CharFilterFactory.java similarity index 86% rename from libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/CharFilterFactory.java rename to libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/CharFilterFactory.java index 7095e32050cf..cb8cbeba01b2 100644 --- a/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/CharFilterFactory.java +++ b/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/CharFilterFactory.java @@ -6,10 +6,10 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.analysis.api; +package org.elasticsearch.plugin.analysis; -import org.elasticsearch.plugin.api.Extensible; -import org.elasticsearch.plugin.api.Nameable; +import org.elasticsearch.plugin.Extensible; +import org.elasticsearch.plugin.Nameable; import java.io.Reader; diff --git a/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/TokenFilterFactory.java b/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/TokenFilterFactory.java similarity index 90% rename from libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/TokenFilterFactory.java rename to libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/TokenFilterFactory.java index 119918bd5b21..671390f99539 100644 --- a/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/TokenFilterFactory.java +++ b/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/TokenFilterFactory.java @@ -6,11 +6,11 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.analysis.api; +package org.elasticsearch.plugin.analysis; import org.apache.lucene.analysis.TokenStream; -import org.elasticsearch.plugin.api.Extensible; -import org.elasticsearch.plugin.api.Nameable; +import org.elasticsearch.plugin.Extensible; +import org.elasticsearch.plugin.Nameable; /** * An analysis component used to create token filters. diff --git a/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/TokenizerFactory.java b/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/TokenizerFactory.java similarity index 81% rename from libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/TokenizerFactory.java rename to libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/TokenizerFactory.java index b6a0e69d5223..9222c296ebd9 100644 --- a/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/api/TokenizerFactory.java +++ b/libs/plugin-analysis-api/src/main/java/org/elasticsearch/plugin/analysis/TokenizerFactory.java @@ -6,11 +6,11 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.analysis.api; +package org.elasticsearch.plugin.analysis; import org.apache.lucene.analysis.Tokenizer; -import org.elasticsearch.plugin.api.Extensible; -import org.elasticsearch.plugin.api.Nameable; +import org.elasticsearch.plugin.Extensible; +import org.elasticsearch.plugin.Nameable; /** * An analysis component used to create tokenizers. diff --git a/libs/plugin-api/build.gradle b/libs/plugin-api/build.gradle index 8ca0f53e7547..8dfe7ce9c793 100644 --- a/libs/plugin-api/build.gradle +++ b/libs/plugin-api/build.gradle @@ -9,6 +9,7 @@ apply plugin: 'elasticsearch.publish' apply plugin: 'elasticsearch.build' +group = "org.elasticsearch.plugin" tasks.named("loggerUsageCheck").configure {enabled = false } diff --git a/libs/plugin-api/src/main/java/module-info.java b/libs/plugin-api/src/main/java/module-info.java index 1eadd7907a07..03946a839f7b 100644 --- a/libs/plugin-api/src/main/java/module-info.java +++ b/libs/plugin-api/src/main/java/module-info.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -module org.elasticsearch.plugin.api { - exports org.elasticsearch.plugin.api; - exports org.elasticsearch.plugin.api.settings; +module org.elasticsearch.plugin { + exports org.elasticsearch.plugin; + exports org.elasticsearch.plugin.settings; } diff --git a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/Extensible.java b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/Extensible.java similarity index 94% rename from libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/Extensible.java rename to libs/plugin-api/src/main/java/org/elasticsearch/plugin/Extensible.java index 0f9bfa3ea8ef..feb65d625e48 100644 --- a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/Extensible.java +++ b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/Extensible.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.api; +package org.elasticsearch.plugin; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/Inject.java b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/Inject.java similarity index 95% rename from libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/Inject.java rename to libs/plugin-api/src/main/java/org/elasticsearch/plugin/Inject.java index 953670be5a39..c9b1f4b3c50a 100644 --- a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/Inject.java +++ b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/Inject.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.api; +package org.elasticsearch.plugin; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/Nameable.java b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/Nameable.java similarity index 96% rename from libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/Nameable.java rename to libs/plugin-api/src/main/java/org/elasticsearch/plugin/Nameable.java index 79b9c5298ffc..373aa94b7b8c 100644 --- a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/Nameable.java +++ b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/Nameable.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.api; +package org.elasticsearch.plugin; /** * A named plugin component. Components with a name can be registered and fetched under a name given in diff --git a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/NamedComponent.java b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/NamedComponent.java similarity index 95% rename from libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/NamedComponent.java rename to libs/plugin-api/src/main/java/org/elasticsearch/plugin/NamedComponent.java index ca62f8dd5aab..44f8e6dd1317 100644 --- a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/NamedComponent.java +++ b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/NamedComponent.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.api; +package org.elasticsearch.plugin; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/package-info.java b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/package-info.java similarity index 76% rename from libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/package-info.java rename to libs/plugin-api/src/main/java/org/elasticsearch/plugin/package-info.java index d991fa304ebc..9e8ad40ef028 100644 --- a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/package-info.java +++ b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/package-info.java @@ -12,14 +12,12 @@ * */ -package org.elasticsearch.plugin.api; +package org.elasticsearch.plugin; diff --git a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/AnalysisSettings.java b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/AnalysisSettings.java similarity index 93% rename from libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/AnalysisSettings.java rename to libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/AnalysisSettings.java index c38c4e666657..c0e6a59e0425 100644 --- a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/AnalysisSettings.java +++ b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/AnalysisSettings.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.api.settings; +package org.elasticsearch.plugin.settings; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/BooleanSetting.java b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/BooleanSetting.java similarity index 94% rename from libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/BooleanSetting.java rename to libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/BooleanSetting.java index a3e6ccee64ba..58749bea7d57 100644 --- a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/BooleanSetting.java +++ b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/BooleanSetting.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.api.settings; +package org.elasticsearch.plugin.settings; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/IntSetting.java b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/IntSetting.java similarity index 94% rename from libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/IntSetting.java rename to libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/IntSetting.java index 3afd5290ef24..83f4ef40b423 100644 --- a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/IntSetting.java +++ b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/IntSetting.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.api.settings; +package org.elasticsearch.plugin.settings; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/ListSetting.java b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/ListSetting.java similarity index 94% rename from libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/ListSetting.java rename to libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/ListSetting.java index 16295fd12a50..5d561164bfb4 100644 --- a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/ListSetting.java +++ b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/ListSetting.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.api.settings; +package org.elasticsearch.plugin.settings; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/LongSetting.java b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/LongSetting.java similarity index 94% rename from libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/LongSetting.java rename to libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/LongSetting.java index b5d0ad43846b..67af5baf9448 100644 --- a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/LongSetting.java +++ b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/LongSetting.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.api.settings; +package org.elasticsearch.plugin.settings; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/StringSetting.java b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/StringSetting.java similarity index 94% rename from libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/StringSetting.java rename to libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/StringSetting.java index 8e916c2f1e13..e16c3af32877 100644 --- a/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/settings/StringSetting.java +++ b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/settings/StringSetting.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.plugin.api.settings; +package org.elasticsearch.plugin.settings; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/libs/plugin-scanner/src/main/java/module-info.java b/libs/plugin-scanner/src/main/java/module-info.java index ec1fb6e10b22..31f078289214 100644 --- a/libs/plugin-scanner/src/main/java/module-info.java +++ b/libs/plugin-scanner/src/main/java/module-info.java @@ -9,7 +9,7 @@ module org.elasticsearch.plugin.scanner { requires org.elasticsearch.base; requires org.objectweb.asm; - requires org.elasticsearch.plugin.api; + requires org.elasticsearch.plugin; requires org.elasticsearch.xcontent; exports org.elasticsearch.plugin.scanner; diff --git a/libs/plugin-scanner/src/main/java/org/elasticsearch/plugin/scanner/NamedComponentScanner.java b/libs/plugin-scanner/src/main/java/org/elasticsearch/plugin/scanner/NamedComponentScanner.java index abc7c777c997..0e22043290f8 100644 --- a/libs/plugin-scanner/src/main/java/org/elasticsearch/plugin/scanner/NamedComponentScanner.java +++ b/libs/plugin-scanner/src/main/java/org/elasticsearch/plugin/scanner/NamedComponentScanner.java @@ -8,8 +8,8 @@ package org.elasticsearch.plugin.scanner; -import org.elasticsearch.plugin.api.Extensible; -import org.elasticsearch.plugin.api.NamedComponent; +import org.elasticsearch.plugin.Extensible; +import org.elasticsearch.plugin.NamedComponent; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentFactory; import org.objectweb.asm.AnnotationVisitor; diff --git a/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/AnnotatedHierarchyVisitorTests.java b/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/AnnotatedHierarchyVisitorTests.java index c41a5d302327..8aaa36b7f9a0 100644 --- a/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/AnnotatedHierarchyVisitorTests.java +++ b/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/AnnotatedHierarchyVisitorTests.java @@ -8,8 +8,8 @@ package org.elasticsearch.plugin.scanner; -import org.elasticsearch.plugin.api.Extensible; -import org.elasticsearch.plugin.api.NamedComponent; +import org.elasticsearch.plugin.Extensible; +import org.elasticsearch.plugin.NamedComponent; import org.elasticsearch.plugin.scanner.test_model.ExtensibleClass; import org.elasticsearch.plugin.scanner.test_model.ExtensibleInterface; import org.elasticsearch.plugin.scanner.test_model.ImplementingExtensible; diff --git a/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/ClassScannerTests.java b/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/ClassScannerTests.java index c0725a1140f8..b8b35dfb568a 100644 --- a/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/ClassScannerTests.java +++ b/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/ClassScannerTests.java @@ -8,7 +8,7 @@ package org.elasticsearch.plugin.scanner; -import org.elasticsearch.plugin.api.Extensible; +import org.elasticsearch.plugin.Extensible; import org.elasticsearch.test.ESTestCase; import org.hamcrest.Matchers; import org.objectweb.asm.ClassReader; diff --git a/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/NamedComponentScannerTests.java b/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/NamedComponentScannerTests.java index dbe652d0a5ba..07d5a799c7be 100644 --- a/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/NamedComponentScannerTests.java +++ b/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/NamedComponentScannerTests.java @@ -64,13 +64,13 @@ public class NamedComponentScannerTests extends ESTestCase { Path jar = dirWithJar.resolve("plugin.jar"); JarUtils.createJarWithEntries(jar, Map.of("p/A.class", InMemoryJavaCompiler.compile("p.A", """ package p; - import org.elasticsearch.plugin.api.*; + import org.elasticsearch.plugin.*; import org.elasticsearch.plugin.scanner.test_model.*; @NamedComponent("a_component") public class A extends ExtensibleClass {} """), "p/B.class", InMemoryJavaCompiler.compile("p.B", """ package p; - import org.elasticsearch.plugin.api.*; + import org.elasticsearch.plugin.*; import org.elasticsearch.plugin.scanner.test_model.*; @NamedComponent("b_component") public class B implements ExtensibleInterface{} @@ -107,7 +107,7 @@ public class NamedComponentScannerTests extends ESTestCase { "p.CustomExtensibleInterface", """ package p; - import org.elasticsearch.plugin.api.*; + import org.elasticsearch.plugin.*; import org.elasticsearch.plugin.scanner.test_model.*; public interface CustomExtensibleInterface extends ExtensibleInterface {} """, @@ -115,14 +115,14 @@ public class NamedComponentScannerTests extends ESTestCase { "p.CustomExtensibleClass", """ package p; - import org.elasticsearch.plugin.api.*; + import org.elasticsearch.plugin.*; import org.elasticsearch.plugin.scanner.test_model.*; public class CustomExtensibleClass implements CustomExtensibleInterface {} """, "p.A", """ package p; - import org.elasticsearch.plugin.api.*; + import org.elasticsearch.plugin.*; import org.elasticsearch.plugin.scanner.test_model.*; @NamedComponent("a_component") public class A extends CustomExtensibleClass {} @@ -130,7 +130,7 @@ public class NamedComponentScannerTests extends ESTestCase { "p.B", """ package p; - import org.elasticsearch.plugin.api.*; + import org.elasticsearch.plugin.*; import org.elasticsearch.plugin.scanner.test_model.*; @NamedComponent("b_component") public class B implements CustomExtensibleInterface{} diff --git a/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/test_model/ExtensibleClass.java b/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/test_model/ExtensibleClass.java index 6e390303386f..ad055a47629f 100644 --- a/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/test_model/ExtensibleClass.java +++ b/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/test_model/ExtensibleClass.java @@ -8,7 +8,7 @@ package org.elasticsearch.plugin.scanner.test_model; -import org.elasticsearch.plugin.api.Extensible; +import org.elasticsearch.plugin.Extensible; @Extensible public class ExtensibleClass {} diff --git a/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/test_model/ExtensibleInterface.java b/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/test_model/ExtensibleInterface.java index 9a929ac71bc4..a99f0a1c8da4 100644 --- a/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/test_model/ExtensibleInterface.java +++ b/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/test_model/ExtensibleInterface.java @@ -8,7 +8,7 @@ package org.elasticsearch.plugin.scanner.test_model; -import org.elasticsearch.plugin.api.Extensible; +import org.elasticsearch.plugin.Extensible; @Extensible public interface ExtensibleInterface {} diff --git a/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/test_model/TestNamedComponent.java b/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/test_model/TestNamedComponent.java index ef25e3cae403..71db778ca4e1 100644 --- a/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/test_model/TestNamedComponent.java +++ b/libs/plugin-scanner/src/test/java/org/elasticsearch/plugin/scanner/test_model/TestNamedComponent.java @@ -8,7 +8,9 @@ package org.elasticsearch.plugin.scanner.test_model; -@org.elasticsearch.plugin.api.NamedComponent("test_named_component") +import org.elasticsearch.plugin.NamedComponent; + +@NamedComponent("test_named_component") public class TestNamedComponent implements ExtensibleInterface { } diff --git a/server/src/main/java/module-info.java b/server/src/main/java/module-info.java index f45f223eab8d..e58ce5c38e16 100644 --- a/server/src/main/java/module-info.java +++ b/server/src/main/java/module-info.java @@ -24,8 +24,8 @@ module org.elasticsearch.server { requires org.elasticsearch.securesm; requires org.elasticsearch.xcontent; requires org.elasticsearch.logging; - requires org.elasticsearch.plugin.api; - requires org.elasticsearch.plugin.analysis.api; + requires org.elasticsearch.plugin; + requires org.elasticsearch.plugin.analysis; requires com.sun.jna; requires hppc; diff --git a/server/src/main/java/org/elasticsearch/indices/analysis/wrappers/SettingsInvocationHandler.java b/server/src/main/java/org/elasticsearch/indices/analysis/wrappers/SettingsInvocationHandler.java index 477514961286..82c1761dc6f6 100644 --- a/server/src/main/java/org/elasticsearch/indices/analysis/wrappers/SettingsInvocationHandler.java +++ b/server/src/main/java/org/elasticsearch/indices/analysis/wrappers/SettingsInvocationHandler.java @@ -12,11 +12,11 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; -import org.elasticsearch.plugin.api.settings.BooleanSetting; -import org.elasticsearch.plugin.api.settings.IntSetting; -import org.elasticsearch.plugin.api.settings.ListSetting; -import org.elasticsearch.plugin.api.settings.LongSetting; -import org.elasticsearch.plugin.api.settings.StringSetting; +import org.elasticsearch.plugin.settings.BooleanSetting; +import org.elasticsearch.plugin.settings.IntSetting; +import org.elasticsearch.plugin.settings.ListSetting; +import org.elasticsearch.plugin.settings.LongSetting; +import org.elasticsearch.plugin.settings.StringSetting; import java.lang.annotation.Annotation; import java.lang.reflect.InvocationHandler; diff --git a/server/src/main/java/org/elasticsearch/indices/analysis/wrappers/StableApiWrappers.java b/server/src/main/java/org/elasticsearch/indices/analysis/wrappers/StableApiWrappers.java index 5e613b64270f..e3d4b02c52ee 100644 --- a/server/src/main/java/org/elasticsearch/indices/analysis/wrappers/StableApiWrappers.java +++ b/server/src/main/java/org/elasticsearch/indices/analysis/wrappers/StableApiWrappers.java @@ -15,8 +15,13 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; import org.elasticsearch.indices.analysis.AnalysisModule; -import org.elasticsearch.plugin.api.Inject; -import org.elasticsearch.plugin.api.settings.AnalysisSettings; +import org.elasticsearch.plugin.Inject; +import org.elasticsearch.plugin.analysis.AnalysisMode; +import org.elasticsearch.plugin.analysis.AnalyzerFactory; +import org.elasticsearch.plugin.analysis.CharFilterFactory; +import org.elasticsearch.plugin.analysis.TokenFilterFactory; +import org.elasticsearch.plugin.analysis.TokenizerFactory; +import org.elasticsearch.plugin.settings.AnalysisSettings; import org.elasticsearch.plugins.scanners.PluginInfo; import org.elasticsearch.plugins.scanners.StablePluginsRegistry; @@ -38,41 +43,25 @@ public class StableApiWrappers { public static Map> oldApiForStableCharFilterFactory(StablePluginsRegistry stablePluginRegistry) { - return mapStablePluginApiToOld( - stablePluginRegistry, - org.elasticsearch.plugin.analysis.api.CharFilterFactory.class, - StableApiWrappers::wrapCharFilterFactory - ); + return mapStablePluginApiToOld(stablePluginRegistry, CharFilterFactory.class, StableApiWrappers::wrapCharFilterFactory); } public static Map> oldApiForTokenFilterFactory(StablePluginsRegistry stablePluginRegistry) { - return mapStablePluginApiToOld( - stablePluginRegistry, - org.elasticsearch.plugin.analysis.api.TokenFilterFactory.class, - StableApiWrappers::wrapTokenFilterFactory - ); + return mapStablePluginApiToOld(stablePluginRegistry, TokenFilterFactory.class, StableApiWrappers::wrapTokenFilterFactory); } public static Map> oldApiForTokenizerFactory( StablePluginsRegistry stablePluginRegistry ) { - return mapStablePluginApiToOld( - stablePluginRegistry, - org.elasticsearch.plugin.analysis.api.TokenizerFactory.class, - StableApiWrappers::wrapTokenizerFactory - ); + return mapStablePluginApiToOld(stablePluginRegistry, TokenizerFactory.class, StableApiWrappers::wrapTokenizerFactory); } public static Map>> oldApiForAnalyzerFactory(StablePluginsRegistry stablePluginRegistry) { - return mapStablePluginApiToOld( - stablePluginRegistry, - org.elasticsearch.plugin.analysis.api.AnalyzerFactory.class, - StableApiWrappers::wrapAnalyzerFactory - ); + return mapStablePluginApiToOld(stablePluginRegistry, AnalyzerFactory.class, StableApiWrappers::wrapAnalyzerFactory); } private static Map> mapStablePluginApiToOld( @@ -106,9 +95,7 @@ public class StableApiWrappers { }; } - private static org.elasticsearch.index.analysis.CharFilterFactory wrapCharFilterFactory( - org.elasticsearch.plugin.analysis.api.CharFilterFactory charFilterFactory - ) { + private static org.elasticsearch.index.analysis.CharFilterFactory wrapCharFilterFactory(CharFilterFactory charFilterFactory) { return new org.elasticsearch.index.analysis.CharFilterFactory() { @Override public String name() { @@ -127,9 +114,7 @@ public class StableApiWrappers { }; } - private static org.elasticsearch.index.analysis.TokenFilterFactory wrapTokenFilterFactory( - org.elasticsearch.plugin.analysis.api.TokenFilterFactory f - ) { + private static org.elasticsearch.index.analysis.TokenFilterFactory wrapTokenFilterFactory(TokenFilterFactory f) { return new org.elasticsearch.index.analysis.TokenFilterFactory() { @Override public String name() { @@ -151,17 +136,13 @@ public class StableApiWrappers { return mapAnalysisMode(f.getAnalysisMode()); } - private org.elasticsearch.index.analysis.AnalysisMode mapAnalysisMode( - org.elasticsearch.plugin.analysis.api.AnalysisMode analysisMode - ) { + private org.elasticsearch.index.analysis.AnalysisMode mapAnalysisMode(AnalysisMode analysisMode) { return org.elasticsearch.index.analysis.AnalysisMode.valueOf(analysisMode.name()); } }; } - private static org.elasticsearch.index.analysis.TokenizerFactory wrapTokenizerFactory( - org.elasticsearch.plugin.analysis.api.TokenizerFactory f - ) { + private static org.elasticsearch.index.analysis.TokenizerFactory wrapTokenizerFactory(TokenizerFactory f) { return new org.elasticsearch.index.analysis.TokenizerFactory() { @Override @@ -176,9 +157,7 @@ public class StableApiWrappers { }; } - private static org.elasticsearch.index.analysis.AnalyzerProvider wrapAnalyzerFactory( - org.elasticsearch.plugin.analysis.api.AnalyzerFactory f - ) { + private static org.elasticsearch.index.analysis.AnalyzerProvider wrapAnalyzerFactory(AnalyzerFactory f) { return new org.elasticsearch.index.analysis.AnalyzerProvider<>() { @Override public String name() { diff --git a/server/src/main/java/org/elasticsearch/plugins/scanners/ExtensiblesRegistry.java b/server/src/main/java/org/elasticsearch/plugins/scanners/ExtensiblesRegistry.java index dc40bd6fcd8e..ec874c9a2c5c 100644 --- a/server/src/main/java/org/elasticsearch/plugins/scanners/ExtensiblesRegistry.java +++ b/server/src/main/java/org/elasticsearch/plugins/scanners/ExtensiblesRegistry.java @@ -10,6 +10,7 @@ package org.elasticsearch.plugins.scanners; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.elasticsearch.plugin.Extensible; import java.util.Map; @@ -58,7 +59,7 @@ import static org.elasticsearch.core.Strings.format; * "E2" : "E2" * } * - * @see org.elasticsearch.plugin.api.Extensible + * @see Extensible */ public class ExtensiblesRegistry { diff --git a/server/src/main/java/org/elasticsearch/plugins/scanners/StablePluginsRegistry.java b/server/src/main/java/org/elasticsearch/plugins/scanners/StablePluginsRegistry.java index cb5656477b62..6e2780a08251 100644 --- a/server/src/main/java/org/elasticsearch/plugins/scanners/StablePluginsRegistry.java +++ b/server/src/main/java/org/elasticsearch/plugins/scanners/StablePluginsRegistry.java @@ -27,7 +27,7 @@ public class StablePluginsRegistry { effectively means that an interface which extends another interface marked with @Extensible is also extensible NameToPluginInfo map is a map of Name to PluginInfo i.e. - org.elasticsearch.plugin.analysis.api.TokenFilterFactory -> + org.elasticsearch.plugin.analysis.TokenFilterFactory -> {"nori" -> {nori, org.elasticserach.plugin.analysis.new_nori.NoriReadingFormFilterFactory, classloaderInstance} */ private final Map namedComponents; diff --git a/server/src/main/resources/org/elasticsearch/plugins/scanners/extensibles.json b/server/src/main/resources/org/elasticsearch/plugins/scanners/extensibles.json index 64d123055df9..b196de2bddfa 100644 --- a/server/src/main/resources/org/elasticsearch/plugins/scanners/extensibles.json +++ b/server/src/main/resources/org/elasticsearch/plugins/scanners/extensibles.json @@ -1,6 +1,6 @@ { - "org.elasticsearch.plugin.analysis.api.AnalyzerFactory":"org.elasticsearch.plugin.analysis.api.AnalyzerFactory", - "org.elasticsearch.plugin.analysis.api.CharFilterFactory":"org.elasticsearch.plugin.analysis.api.CharFilterFactory", - "org.elasticsearch.plugin.analysis.api.TokenFilterFactory":"org.elasticsearch.plugin.analysis.api.TokenFilterFactory", - "org.elasticsearch.plugin.analysis.api.TokenizerFactory":"org.elasticsearch.plugin.analysis.api.TokenizerFactory" + "org.elasticsearch.plugin.analysis.AnalyzerFactory":"org.elasticsearch.plugin.analysis.api.AnalyzerFactory", + "org.elasticsearch.plugin.analysis.CharFilterFactory":"org.elasticsearch.plugin.analysis.api.CharFilterFactory", + "org.elasticsearch.plugin.analysis.TokenFilterFactory":"org.elasticsearch.plugin.analysis.api.TokenFilterFactory", + "org.elasticsearch.plugin.analysis.TokenizerFactory":"org.elasticsearch.plugin.analysis.api.TokenizerFactory" } diff --git a/server/src/test/java/org/elasticsearch/indices/analysis/IncorrectSetupStablePluginsTests.java b/server/src/test/java/org/elasticsearch/indices/analysis/IncorrectSetupStablePluginsTests.java index ee8ef8aa4542..68d879686269 100644 --- a/server/src/test/java/org/elasticsearch/indices/analysis/IncorrectSetupStablePluginsTests.java +++ b/server/src/test/java/org/elasticsearch/indices/analysis/IncorrectSetupStablePluginsTests.java @@ -16,9 +16,10 @@ import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.analysis.AnalysisRegistry; import org.elasticsearch.index.analysis.IndexAnalyzers; import org.elasticsearch.indices.analysis.lucene.ReplaceCharToNumber; -import org.elasticsearch.plugin.api.Inject; -import org.elasticsearch.plugin.api.NamedComponent; -import org.elasticsearch.plugin.api.settings.AnalysisSettings; +import org.elasticsearch.plugin.Inject; +import org.elasticsearch.plugin.NamedComponent; +import org.elasticsearch.plugin.analysis.CharFilterFactory; +import org.elasticsearch.plugin.settings.AnalysisSettings; import org.elasticsearch.plugins.scanners.NameToPluginInfo; import org.elasticsearch.plugins.scanners.NamedComponentReader; import org.elasticsearch.plugins.scanners.PluginInfo; @@ -131,16 +132,13 @@ public class IncorrectSetupStablePluginsTests extends ESTestCase { emptyList(), new StablePluginsRegistry( new NamedComponentReader(), - Map.of( - org.elasticsearch.plugin.analysis.api.CharFilterFactory.class.getCanonicalName(), - new NameToPluginInfo(mapOfCharFilters) - ) + Map.of(CharFilterFactory.class.getCanonicalName(), new NameToPluginInfo(mapOfCharFilters)) ) ).getAnalysisRegistry(); return registry; } - public abstract static class AbstractCharFilterFactory implements org.elasticsearch.plugin.analysis.api.CharFilterFactory { + public abstract static class AbstractCharFilterFactory implements CharFilterFactory { @Override public Reader create(Reader reader) { diff --git a/server/src/test/java/org/elasticsearch/indices/analysis/StableAnalysisPluginsNoSettingsTests.java b/server/src/test/java/org/elasticsearch/indices/analysis/StableAnalysisPluginsNoSettingsTests.java index 95a1c32a8f4b..76d3ff14c9f4 100644 --- a/server/src/test/java/org/elasticsearch/indices/analysis/StableAnalysisPluginsNoSettingsTests.java +++ b/server/src/test/java/org/elasticsearch/indices/analysis/StableAnalysisPluginsNoSettingsTests.java @@ -23,8 +23,12 @@ import org.elasticsearch.indices.analysis.lucene.AppendTokenFilter; import org.elasticsearch.indices.analysis.lucene.CharSkippingTokenizer; import org.elasticsearch.indices.analysis.lucene.ReplaceCharToNumber; import org.elasticsearch.indices.analysis.lucene.SkipStartingWithDigitTokenFilter; -import org.elasticsearch.plugin.analysis.api.AnalysisMode; -import org.elasticsearch.plugin.api.NamedComponent; +import org.elasticsearch.plugin.NamedComponent; +import org.elasticsearch.plugin.analysis.AnalysisMode; +import org.elasticsearch.plugin.analysis.AnalyzerFactory; +import org.elasticsearch.plugin.analysis.CharFilterFactory; +import org.elasticsearch.plugin.analysis.TokenFilterFactory; +import org.elasticsearch.plugin.analysis.TokenizerFactory; import org.elasticsearch.plugins.scanners.NameToPluginInfo; import org.elasticsearch.plugins.scanners.NamedComponentReader; import org.elasticsearch.plugins.scanners.PluginInfo; @@ -87,7 +91,7 @@ public class StableAnalysisPluginsNoSettingsTests extends ESTestCase { } @NamedComponent("stableCharFilterFactory") - public static class TestCharFilterFactory implements org.elasticsearch.plugin.analysis.api.CharFilterFactory { + public static class TestCharFilterFactory implements CharFilterFactory { @Override public Reader create(Reader reader) { @@ -101,7 +105,7 @@ public class StableAnalysisPluginsNoSettingsTests extends ESTestCase { } @NamedComponent("stableTokenFilterFactory") - public static class TestTokenFilterFactory implements org.elasticsearch.plugin.analysis.api.TokenFilterFactory { + public static class TestTokenFilterFactory implements TokenFilterFactory { @Override public TokenStream create(TokenStream tokenStream) { @@ -115,13 +119,13 @@ public class StableAnalysisPluginsNoSettingsTests extends ESTestCase { @Override public AnalysisMode getAnalysisMode() { - return org.elasticsearch.plugin.analysis.api.TokenFilterFactory.super.getAnalysisMode(); + return TokenFilterFactory.super.getAnalysisMode(); } } @NamedComponent("stableTokenizerFactory") - public static class TestTokenizerFactory implements org.elasticsearch.plugin.analysis.api.TokenizerFactory { + public static class TestTokenizerFactory implements TokenizerFactory { @Override public Tokenizer create() { @@ -131,7 +135,7 @@ public class StableAnalysisPluginsNoSettingsTests extends ESTestCase { } @NamedComponent("stableAnalyzerFactory") - public static class TestAnalyzerFactory implements org.elasticsearch.plugin.analysis.api.AnalyzerFactory { + public static class TestAnalyzerFactory implements AnalyzerFactory { @Override public Analyzer create() { @@ -158,28 +162,28 @@ public class StableAnalysisPluginsNoSettingsTests extends ESTestCase { new StablePluginsRegistry( new NamedComponentReader(), Map.of( - org.elasticsearch.plugin.analysis.api.CharFilterFactory.class.getCanonicalName(), + CharFilterFactory.class.getCanonicalName(), new NameToPluginInfo( Map.of( "stableCharFilterFactory", new PluginInfo("stableCharFilterFactory", TestCharFilterFactory.class.getName(), classLoader) ) ), - org.elasticsearch.plugin.analysis.api.TokenFilterFactory.class.getCanonicalName(), + TokenFilterFactory.class.getCanonicalName(), new NameToPluginInfo( Map.of( "stableTokenFilterFactory", new PluginInfo("stableTokenFilterFactory", TestTokenFilterFactory.class.getName(), classLoader) ) ), - org.elasticsearch.plugin.analysis.api.TokenizerFactory.class.getCanonicalName(), + TokenizerFactory.class.getCanonicalName(), new NameToPluginInfo( Map.of( "stableTokenizerFactory", new PluginInfo("stableTokenizerFactory", TestTokenizerFactory.class.getName(), classLoader) ) ), - org.elasticsearch.plugin.analysis.api.AnalyzerFactory.class.getCanonicalName(), + AnalyzerFactory.class.getCanonicalName(), new NameToPluginInfo( Map.of( "stableAnalyzerFactory", diff --git a/server/src/test/java/org/elasticsearch/indices/analysis/StableAnalysisPluginsWithSettingsTests.java b/server/src/test/java/org/elasticsearch/indices/analysis/StableAnalysisPluginsWithSettingsTests.java index 6e1c694e2465..0a8d38b32c09 100644 --- a/server/src/test/java/org/elasticsearch/indices/analysis/StableAnalysisPluginsWithSettingsTests.java +++ b/server/src/test/java/org/elasticsearch/indices/analysis/StableAnalysisPluginsWithSettingsTests.java @@ -22,15 +22,19 @@ import org.elasticsearch.indices.analysis.lucene.AppendTokenFilter; import org.elasticsearch.indices.analysis.lucene.CharSkippingTokenizer; import org.elasticsearch.indices.analysis.lucene.ReplaceCharToNumber; import org.elasticsearch.indices.analysis.lucene.SkipStartingWithDigitTokenFilter; -import org.elasticsearch.plugin.analysis.api.AnalysisMode; -import org.elasticsearch.plugin.api.Inject; -import org.elasticsearch.plugin.api.NamedComponent; -import org.elasticsearch.plugin.api.settings.AnalysisSettings; -import org.elasticsearch.plugin.api.settings.BooleanSetting; -import org.elasticsearch.plugin.api.settings.IntSetting; -import org.elasticsearch.plugin.api.settings.ListSetting; -import org.elasticsearch.plugin.api.settings.LongSetting; -import org.elasticsearch.plugin.api.settings.StringSetting; +import org.elasticsearch.plugin.Inject; +import org.elasticsearch.plugin.NamedComponent; +import org.elasticsearch.plugin.analysis.AnalysisMode; +import org.elasticsearch.plugin.analysis.AnalyzerFactory; +import org.elasticsearch.plugin.analysis.CharFilterFactory; +import org.elasticsearch.plugin.analysis.TokenFilterFactory; +import org.elasticsearch.plugin.analysis.TokenizerFactory; +import org.elasticsearch.plugin.settings.AnalysisSettings; +import org.elasticsearch.plugin.settings.BooleanSetting; +import org.elasticsearch.plugin.settings.IntSetting; +import org.elasticsearch.plugin.settings.ListSetting; +import org.elasticsearch.plugin.settings.LongSetting; +import org.elasticsearch.plugin.settings.StringSetting; import org.elasticsearch.plugins.scanners.NameToPluginInfo; import org.elasticsearch.plugins.scanners.NamedComponentReader; import org.elasticsearch.plugins.scanners.PluginInfo; @@ -140,28 +144,28 @@ public class StableAnalysisPluginsWithSettingsTests extends ESTestCase { new StablePluginsRegistry( new NamedComponentReader(), Map.of( - org.elasticsearch.plugin.analysis.api.CharFilterFactory.class.getCanonicalName(), + CharFilterFactory.class.getCanonicalName(), new NameToPluginInfo( Map.of( "stableCharFilterFactory", new PluginInfo("stableCharFilterFactory", TestCharFilterFactory.class.getName(), classLoader) ) ), - org.elasticsearch.plugin.analysis.api.TokenFilterFactory.class.getCanonicalName(), + TokenFilterFactory.class.getCanonicalName(), new NameToPluginInfo( Map.of( "stableTokenFilterFactory", new PluginInfo("stableTokenFilterFactory", TestTokenFilterFactory.class.getName(), classLoader) ) ), - org.elasticsearch.plugin.analysis.api.TokenizerFactory.class.getCanonicalName(), + TokenizerFactory.class.getCanonicalName(), new NameToPluginInfo( Map.of( "stableTokenizerFactory", new PluginInfo("stableTokenizerFactory", TestTokenizerFactory.class.getName(), classLoader) ) ), - org.elasticsearch.plugin.analysis.api.AnalyzerFactory.class.getCanonicalName(), + AnalyzerFactory.class.getCanonicalName(), new NameToPluginInfo( Map.of( "stableAnalyzerFactory", @@ -193,7 +197,7 @@ public class StableAnalysisPluginsWithSettingsTests extends ESTestCase { } @NamedComponent("stableAnalyzerFactory") - public static class TestAnalyzerFactory implements org.elasticsearch.plugin.analysis.api.AnalyzerFactory { + public static class TestAnalyzerFactory implements AnalyzerFactory { private final TestAnalysisSettings settings; @@ -229,7 +233,7 @@ public class StableAnalysisPluginsWithSettingsTests extends ESTestCase { } @NamedComponent("stableCharFilterFactory") - public static class TestCharFilterFactory implements org.elasticsearch.plugin.analysis.api.CharFilterFactory { + public static class TestCharFilterFactory implements CharFilterFactory { private final String oldChar; private final int newNumber; @@ -252,7 +256,7 @@ public class StableAnalysisPluginsWithSettingsTests extends ESTestCase { } @NamedComponent("stableTokenFilterFactory") - public static class TestTokenFilterFactory implements org.elasticsearch.plugin.analysis.api.TokenFilterFactory { + public static class TestTokenFilterFactory implements TokenFilterFactory { private final long tokenFilterNumber; @@ -273,13 +277,13 @@ public class StableAnalysisPluginsWithSettingsTests extends ESTestCase { @Override public AnalysisMode getAnalysisMode() { - return org.elasticsearch.plugin.analysis.api.TokenFilterFactory.super.getAnalysisMode(); + return TokenFilterFactory.super.getAnalysisMode(); } } @NamedComponent("stableTokenizerFactory") - public static class TestTokenizerFactory implements org.elasticsearch.plugin.analysis.api.TokenizerFactory { + public static class TestTokenizerFactory implements TokenizerFactory { private final java.util.List tokenizerListOfChars; @Inject diff --git a/server/src/test/java/org/elasticsearch/indices/analysis/wrappers/StableApiWrappersTests.java b/server/src/test/java/org/elasticsearch/indices/analysis/wrappers/StableApiWrappersTests.java index 7414f816e3da..3ddf8feb543f 100644 --- a/server/src/test/java/org/elasticsearch/indices/analysis/wrappers/StableApiWrappersTests.java +++ b/server/src/test/java/org/elasticsearch/indices/analysis/wrappers/StableApiWrappersTests.java @@ -14,8 +14,12 @@ import org.apache.lucene.analysis.Tokenizer; import org.elasticsearch.env.Environment; import org.elasticsearch.index.analysis.AnalyzerScope; import org.elasticsearch.indices.analysis.AnalysisModule; -import org.elasticsearch.plugin.analysis.api.AnalysisMode; -import org.elasticsearch.plugin.api.NamedComponent; +import org.elasticsearch.plugin.NamedComponent; +import org.elasticsearch.plugin.analysis.AnalysisMode; +import org.elasticsearch.plugin.analysis.AnalyzerFactory; +import org.elasticsearch.plugin.analysis.CharFilterFactory; +import org.elasticsearch.plugin.analysis.TokenFilterFactory; +import org.elasticsearch.plugin.analysis.TokenizerFactory; import org.elasticsearch.plugins.scanners.PluginInfo; import org.elasticsearch.plugins.scanners.StablePluginsRegistry; import org.elasticsearch.test.ESTestCase; @@ -36,9 +40,8 @@ public class StableApiWrappersTests extends ESTestCase { public void testUnknownClass() throws IOException { StablePluginsRegistry registry = Mockito.mock(StablePluginsRegistry.class); - Mockito.when( - registry.getPluginInfosForExtensible(eq(org.elasticsearch.plugin.analysis.api.AnalyzerFactory.class.getCanonicalName())) - ).thenReturn(List.of(new PluginInfo("namedComponentName1", "someRandomName", getClass().getClassLoader()))); + Mockito.when(registry.getPluginInfosForExtensible(eq(AnalyzerFactory.class.getCanonicalName()))) + .thenReturn(List.of(new PluginInfo("namedComponentName1", "someRandomName", getClass().getClassLoader()))); Map>> analysisProviderMap = StableApiWrappers.oldApiForAnalyzerFactory(registry); @@ -56,9 +59,7 @@ public class StableApiWrappersTests extends ESTestCase { public void testStablePluginHasNoArgConstructor() throws IOException { StablePluginsRegistry registry = Mockito.mock(StablePluginsRegistry.class); - Mockito.when( - registry.getPluginInfosForExtensible(eq(org.elasticsearch.plugin.analysis.api.AnalyzerFactory.class.getCanonicalName())) - ) + Mockito.when(registry.getPluginInfosForExtensible(eq(AnalyzerFactory.class.getCanonicalName()))) .thenReturn( List.of(new PluginInfo("namedComponentName1", DefaultConstrAnalyzerFactory.class.getName(), getClass().getClassLoader())) ); @@ -79,9 +80,8 @@ public class StableApiWrappersTests extends ESTestCase { public void testAnalyzerFactoryDelegation() throws IOException { StablePluginsRegistry registry = Mockito.mock(StablePluginsRegistry.class); - Mockito.when( - registry.getPluginInfosForExtensible(eq(org.elasticsearch.plugin.analysis.api.AnalyzerFactory.class.getCanonicalName())) - ).thenReturn(List.of(new PluginInfo("namedComponentName1", TestAnalyzerFactory.class.getName(), getClass().getClassLoader()))); + Mockito.when(registry.getPluginInfosForExtensible(eq(AnalyzerFactory.class.getCanonicalName()))) + .thenReturn(List.of(new PluginInfo("namedComponentName1", TestAnalyzerFactory.class.getName(), getClass().getClassLoader()))); Map>> analysisProviderMap = StableApiWrappers.oldApiForAnalyzerFactory(registry); @@ -107,9 +107,8 @@ public class StableApiWrappersTests extends ESTestCase { public void testTokenizerFactoryDelegation() throws IOException { StablePluginsRegistry registry = Mockito.mock(StablePluginsRegistry.class); - Mockito.when( - registry.getPluginInfosForExtensible(eq(org.elasticsearch.plugin.analysis.api.TokenizerFactory.class.getCanonicalName())) - ).thenReturn(List.of(new PluginInfo("namedComponentName1", TestTokenizerFactory.class.getName(), getClass().getClassLoader()))); + Mockito.when(registry.getPluginInfosForExtensible(eq(TokenizerFactory.class.getCanonicalName()))) + .thenReturn(List.of(new PluginInfo("namedComponentName1", TestTokenizerFactory.class.getName(), getClass().getClassLoader()))); Map> analysisProviderMap = StableApiWrappers.oldApiForTokenizerFactory(registry); @@ -130,9 +129,10 @@ public class StableApiWrappersTests extends ESTestCase { public void testTokenFilterFactoryDelegation() throws IOException { StablePluginsRegistry registry = Mockito.mock(StablePluginsRegistry.class); - Mockito.when( - registry.getPluginInfosForExtensible(eq(org.elasticsearch.plugin.analysis.api.TokenFilterFactory.class.getCanonicalName())) - ).thenReturn(List.of(new PluginInfo("namedComponentName1", TestTokenFilterFactory.class.getName(), getClass().getClassLoader()))); + Mockito.when(registry.getPluginInfosForExtensible(eq(TokenFilterFactory.class.getCanonicalName()))) + .thenReturn( + List.of(new PluginInfo("namedComponentName1", TestTokenFilterFactory.class.getName(), getClass().getClassLoader())) + ); Map> analysisProviderMap = StableApiWrappers.oldApiForTokenFilterFactory(registry); @@ -168,9 +168,8 @@ public class StableApiWrappersTests extends ESTestCase { public void testCharFilterFactoryDelegation() throws IOException { StablePluginsRegistry registry = Mockito.mock(StablePluginsRegistry.class); - Mockito.when( - registry.getPluginInfosForExtensible(eq(org.elasticsearch.plugin.analysis.api.CharFilterFactory.class.getCanonicalName())) - ).thenReturn(List.of(new PluginInfo("namedComponentName1", TestCharFilterFactory.class.getName(), getClass().getClassLoader()))); + Mockito.when(registry.getPluginInfosForExtensible(eq(CharFilterFactory.class.getCanonicalName()))) + .thenReturn(List.of(new PluginInfo("namedComponentName1", TestCharFilterFactory.class.getName(), getClass().getClassLoader()))); Map> analysisProviderMap = StableApiWrappers.oldApiForStableCharFilterFactory(registry); @@ -198,7 +197,7 @@ public class StableApiWrappersTests extends ESTestCase { } @NamedComponent("DefaultConstrAnalyzerFactory") - public static class DefaultConstrAnalyzerFactory implements org.elasticsearch.plugin.analysis.api.AnalyzerFactory { + public static class DefaultConstrAnalyzerFactory implements AnalyzerFactory { public DefaultConstrAnalyzerFactory(int x) {} @@ -210,7 +209,7 @@ public class StableApiWrappersTests extends ESTestCase { } @NamedComponent("TestAnalyzerFactory") - public static class TestAnalyzerFactory implements org.elasticsearch.plugin.analysis.api.AnalyzerFactory { + public static class TestAnalyzerFactory implements AnalyzerFactory { @Override public Analyzer create() { @@ -220,7 +219,7 @@ public class StableApiWrappersTests extends ESTestCase { } @NamedComponent("TestTokenizerFactory") - public static class TestTokenizerFactory implements org.elasticsearch.plugin.analysis.api.TokenizerFactory { + public static class TestTokenizerFactory implements TokenizerFactory { @Override public Tokenizer create() { @@ -229,7 +228,7 @@ public class StableApiWrappersTests extends ESTestCase { } @NamedComponent("TestTokenFilterFactory") - public static class TestTokenFilterFactory implements org.elasticsearch.plugin.analysis.api.TokenFilterFactory { + public static class TestTokenFilterFactory implements TokenFilterFactory { @Override public TokenStream create(TokenStream tokenStream) { @@ -254,7 +253,7 @@ public class StableApiWrappersTests extends ESTestCase { } @NamedComponent("TestCharFilterFactory") - public static class TestCharFilterFactory implements org.elasticsearch.plugin.analysis.api.CharFilterFactory { + public static class TestCharFilterFactory implements CharFilterFactory { @Override public Reader create(Reader reader) { diff --git a/server/src/test/java/org/elasticsearch/plugins/PluginsServiceTests.java b/server/src/test/java/org/elasticsearch/plugins/PluginsServiceTests.java index fe46d7b43701..b655a240759d 100644 --- a/server/src/test/java/org/elasticsearch/plugins/PluginsServiceTests.java +++ b/server/src/test/java/org/elasticsearch/plugins/PluginsServiceTests.java @@ -17,7 +17,7 @@ import org.elasticsearch.core.Strings; import org.elasticsearch.env.Environment; import org.elasticsearch.env.TestEnvironment; import org.elasticsearch.index.IndexModule; -import org.elasticsearch.plugin.analysis.api.CharFilterFactory; +import org.elasticsearch.plugin.analysis.CharFilterFactory; import org.elasticsearch.plugins.scanners.PluginInfo; import org.elasticsearch.plugins.spi.BarPlugin; import org.elasticsearch.plugins.spi.BarTestService; @@ -794,8 +794,8 @@ public class PluginsServiceTests extends ESTestCase { JarUtils.createJarWithEntries(jar, Map.of("p/A.class", InMemoryJavaCompiler.compile("p.A", """ package p; import java.util.Map; - import org.elasticsearch.plugin.analysis.api.CharFilterFactory; - import org.elasticsearch.plugin.api.NamedComponent; + import org.elasticsearch.plugin.analysis.CharFilterFactory; + import org.elasticsearch.plugin.NamedComponent; import java.io.Reader; @NamedComponent( "a_name") public class A implements CharFilterFactory { @@ -808,7 +808,7 @@ public class PluginsServiceTests extends ESTestCase { Path namedComponentFile = plugin.resolve("named_components.json"); Files.writeString(namedComponentFile, """ { - "org.elasticsearch.plugin.analysis.api.CharFilterFactory": { + "org.elasticsearch.plugin.analysis.CharFilterFactory": { "a_name": "p.A" } } @@ -827,7 +827,7 @@ public class PluginsServiceTests extends ESTestCase { // check ubermodule classloader usage Collection stablePluginInfos = pluginService.getStablePluginRegistry() - .getPluginInfosForExtensible("org.elasticsearch.plugin.analysis.api.CharFilterFactory"); + .getPluginInfosForExtensible("org.elasticsearch.plugin.analysis.CharFilterFactory"); assertThat(stablePluginInfos, hasSize(1)); ClassLoader stablePluginClassLoader = stablePluginInfos.stream().findFirst().orElseThrow().loader(); assertThat(stablePluginClassLoader, instanceOf(UberModuleClassLoader.class));