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 @@
*
* - The root package is org.elasticsearch.plugin
* - Specialised API jars have their name following the root package.
+ * Interfaces and annotations used by plugin developers should be placed under it.
* i.e. org.elasticsearch.plugin.analysis
*
- * - Interfaces and annotations used by plugin developers are in `api` package
- * i.e org.elasticsearch.plugin.analysis.api or org.elasticsearch.plugin.api
-*
- * - packages which are not meant to be used by plugin developers should not be subpackages of api
+ *
- packages which are not meant to be used by plugin developers should be under internal package suffix
* i.e org.elasticsearch.plugin.analysis.internal
*
*
*/
-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));