diff --git a/libs/logging/build.gradle b/libs/logging/build.gradle index 87e6131b0593..3859c0b12ced 100644 --- a/libs/logging/build.gradle +++ b/libs/logging/build.gradle @@ -1,7 +1,3 @@ -import org.elasticsearch.gradle.transform.UnzipTransform - -import java.util.stream.Collectors - /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License 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/api/AnalyzerFactory.java index f6fe90ced641..625f753a46d2 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/api/AnalyzerFactory.java @@ -9,11 +9,13 @@ package org.elasticsearch.plugin.analysis.api; import org.apache.lucene.analysis.Analyzer; +import org.elasticsearch.plugin.api.Extensible; import org.elasticsearch.plugin.api.Nameable; /** * An analysis component used to create Analyzers. */ +@Extensible public interface AnalyzerFactory extends Nameable { /** * Returns a lucene org.apache.lucene.analysis.Analyzer instance. 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/api/CharFilterFactory.java index f26a83dfab62..7095e32050cf 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/api/CharFilterFactory.java @@ -8,6 +8,7 @@ package org.elasticsearch.plugin.analysis.api; +import org.elasticsearch.plugin.api.Extensible; import org.elasticsearch.plugin.api.Nameable; import java.io.Reader; @@ -16,6 +17,7 @@ import java.io.Reader; * An analysis component used to create char filters. * */ +@Extensible public interface CharFilterFactory extends Nameable { /** * Wraps the given Reader with a CharFilter. 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/api/TokenFilterFactory.java index c6bf4e397848..119918bd5b21 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/api/TokenFilterFactory.java @@ -9,11 +9,13 @@ package org.elasticsearch.plugin.analysis.api; import org.apache.lucene.analysis.TokenStream; +import org.elasticsearch.plugin.api.Extensible; import org.elasticsearch.plugin.api.Nameable; /** * An analysis component used to create token filters. */ +@Extensible public interface TokenFilterFactory extends Nameable { /** 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/api/TokenizerFactory.java index 8e805786693d..b6a0e69d5223 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/api/TokenizerFactory.java @@ -9,11 +9,13 @@ package org.elasticsearch.plugin.analysis.api; import org.apache.lucene.analysis.Tokenizer; +import org.elasticsearch.plugin.api.Extensible; import org.elasticsearch.plugin.api.Nameable; /** * An analysis component used to create tokenizers. */ +@Extensible public interface TokenizerFactory extends Nameable { /** 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/api/Extensible.java new file mode 100644 index 000000000000..0f9bfa3ea8ef --- /dev/null +++ b/libs/plugin-api/src/main/java/org/elasticsearch/plugin/api/Extensible.java @@ -0,0 +1,24 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +package org.elasticsearch.plugin.api; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.TYPE; + +/** + * Marker for things that can be loaded by component loader. + * + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(value = { TYPE }) +public @interface Extensible { +}