diff --git a/modules/aggregations/src/main/java/org/elasticsearch/aggregations/AggregationsPlugin.java b/modules/aggregations/src/main/java/org/elasticsearch/aggregations/AggregationsPlugin.java index 7d66f91a230db..742cba27ee825 100644 --- a/modules/aggregations/src/main/java/org/elasticsearch/aggregations/AggregationsPlugin.java +++ b/modules/aggregations/src/main/java/org/elasticsearch/aggregations/AggregationsPlugin.java @@ -16,6 +16,7 @@ import org.elasticsearch.aggregations.bucket.histogram.InternalAutoDateHistogram; import org.elasticsearch.aggregations.pipeline.MovFnPipelineAggregationBuilder; import org.elasticsearch.aggregations.pipeline.MovingFunctionScript; +import org.elasticsearch.plugins.ExtensiblePlugin; import org.elasticsearch.plugins.Plugin; import org.elasticsearch.plugins.ScriptPlugin; import org.elasticsearch.plugins.SearchPlugin; @@ -23,7 +24,7 @@ import java.util.List; -public class AggregationsPlugin extends Plugin implements SearchPlugin, ScriptPlugin { +public class AggregationsPlugin extends Plugin implements ExtensiblePlugin, SearchPlugin, ScriptPlugin { @Override public List getAggregations() { return List.of( diff --git a/x-pack/plugin/autoscaling/build.gradle b/x-pack/plugin/autoscaling/build.gradle index 854f418b1863e..564f5df7e8ec1 100644 --- a/x-pack/plugin/autoscaling/build.gradle +++ b/x-pack/plugin/autoscaling/build.gradle @@ -12,6 +12,7 @@ esplugin { archivesBaseName = 'x-pack-autoscaling' dependencies { + compileOnly project(':modules:aggregations') compileOnly project(path: xpackModule('core')) testImplementation(testArtifact(project(xpackModule('core')))) testImplementation project(':modules:data-streams') diff --git a/x-pack/plugin/core/build.gradle b/x-pack/plugin/core/build.gradle index ee4d947f656d8..a31dd5555175d 100644 --- a/x-pack/plugin/core/build.gradle +++ b/x-pack/plugin/core/build.gradle @@ -19,6 +19,7 @@ esplugin { classname 'org.elasticsearch.xpack.core.XPackPlugin' hasNativeController false requiresKeystore false + extendedPlugins = ['aggregations'] } tasks.named("dependencyLicenses").configure { @@ -28,7 +29,7 @@ tasks.named("dependencyLicenses").configure { dependencies { compileOnly project(":server") - api project(":modules:aggregations") + compileOnly project(":modules:aggregations") api project(':libs:elasticsearch-grok') api project(":libs:elasticsearch-ssl-config") api "org.apache.httpcomponents:httpclient:${versions.httpclient}" diff --git a/x-pack/plugin/eql/build.gradle b/x-pack/plugin/eql/build.gradle index e23d7406662f2..4502059da4984 100644 --- a/x-pack/plugin/eql/build.gradle +++ b/x-pack/plugin/eql/build.gradle @@ -5,7 +5,7 @@ esplugin { name 'x-pack-eql' description 'The Elasticsearch plugin that powers EQL for Elasticsearch' classname 'org.elasticsearch.xpack.eql.plugin.EqlPlugin' - extendedPlugins = ['x-pack-ql', 'lang-painless'] + extendedPlugins = ['x-pack-ql'] } ext { diff --git a/x-pack/plugin/mapper-constant-keyword/build.gradle b/x-pack/plugin/mapper-constant-keyword/build.gradle index fe57cdc4380f2..1bb23cbd71db4 100644 --- a/x-pack/plugin/mapper-constant-keyword/build.gradle +++ b/x-pack/plugin/mapper-constant-keyword/build.gradle @@ -7,7 +7,7 @@ esplugin { name 'constant-keyword' description 'Module for the constant-keyword field type, which is a specialization of keyword for the case when all documents have the same value.' classname 'org.elasticsearch.xpack.constantkeyword.ConstantKeywordMapperPlugin' - extendedPlugins = ['x-pack-core', 'lang-painless'] + extendedPlugins = ['x-pack-core'] } archivesBaseName = 'x-pack-constant-keyword' diff --git a/x-pack/plugin/mapper-unsigned-long/build.gradle b/x-pack/plugin/mapper-unsigned-long/build.gradle index eaff7fe362552..10b411a8d5206 100644 --- a/x-pack/plugin/mapper-unsigned-long/build.gradle +++ b/x-pack/plugin/mapper-unsigned-long/build.gradle @@ -18,7 +18,7 @@ esplugin { name 'unsigned-long' description 'Module for the unsigned long field type' classname 'org.elasticsearch.xpack.unsignedlong.UnsignedLongMapperPlugin' - extendedPlugins = ['x-pack-core', 'lang-painless'] + extendedPlugins = ['x-pack-core'] } archivesBaseName = 'x-pack-unsigned-long' diff --git a/x-pack/plugin/mapper-version/build.gradle b/x-pack/plugin/mapper-version/build.gradle index 0558120c95785..01e744df47cb6 100644 --- a/x-pack/plugin/mapper-version/build.gradle +++ b/x-pack/plugin/mapper-version/build.gradle @@ -12,7 +12,7 @@ esplugin { name 'mapper-version' description 'A plugin for a field type to store software versions' classname 'org.elasticsearch.xpack.versionfield.VersionFieldPlugin' - extendedPlugins = ['x-pack-core', 'lang-painless'] + extendedPlugins = ['x-pack-core'] } archivesBaseName = 'x-pack-mapper-version' diff --git a/x-pack/plugin/ml/build.gradle b/x-pack/plugin/ml/build.gradle index 86802009abde3..dbaabdf7f1d62 100644 --- a/x-pack/plugin/ml/build.gradle +++ b/x-pack/plugin/ml/build.gradle @@ -9,7 +9,7 @@ esplugin { description 'Elasticsearch Expanded Pack Plugin - Machine Learning' classname 'org.elasticsearch.xpack.ml.MachineLearning' hasNativeController true - extendedPlugins = ['x-pack-autoscaling', 'lang-painless'] + extendedPlugins = ['x-pack-autoscaling'] } def localRepo = providers.systemProperty('build.ml_cpp.repo').orNull @@ -70,6 +70,7 @@ esplugin.bundleSpec.exclude 'platform/licenses/**' dependencies { compileOnly project(':modules:lang-painless:spi') + compileOnly project(':modules:aggregations') compileOnly project(path: xpackModule('core')) compileOnly project(path: xpackModule('autoscaling')) testImplementation(testArtifact(project(xpackModule('core')))) diff --git a/x-pack/plugin/ql/build.gradle b/x-pack/plugin/ql/build.gradle index 153a8bbafe4bd..35978399c43ec 100644 --- a/x-pack/plugin/ql/build.gradle +++ b/x-pack/plugin/ql/build.gradle @@ -17,6 +17,7 @@ archivesBaseName = 'x-pack-ql' dependencies { api "org.antlr:antlr4-runtime:${antlrVersion}" api project(path: xpackModule('mapper-version')) + compileOnly project(':modules:aggregations') compileOnly project(path: xpackModule('core')) testApi(project(xpackModule('ql:test-fixtures'))) { exclude group: 'org.elasticsearch.plugin', module: 'ql' diff --git a/x-pack/plugin/rollup/build.gradle b/x-pack/plugin/rollup/build.gradle index e2da0ba0f866e..8881619e74c5c 100644 --- a/x-pack/plugin/rollup/build.gradle +++ b/x-pack/plugin/rollup/build.gradle @@ -9,6 +9,7 @@ esplugin { archivesBaseName = 'x-pack-rollup' dependencies { + compileOnly project(':modules:aggregations') compileOnly project(path: xpackModule('core')) compileOnly project(':modules:data-streams') compileOnly project(path: xpackModule('ilm')) diff --git a/x-pack/plugin/spatial/build.gradle b/x-pack/plugin/spatial/build.gradle index f0122f8f01aa6..4422922523a71 100644 --- a/x-pack/plugin/spatial/build.gradle +++ b/x-pack/plugin/spatial/build.gradle @@ -7,7 +7,7 @@ esplugin { name 'spatial' description 'A plugin for Basic Spatial features' classname 'org.elasticsearch.xpack.spatial.SpatialPlugin' - extendedPlugins = ['x-pack-core', 'legacy-geo', 'lang-painless'] + extendedPlugins = ['x-pack-core', 'legacy-geo'] } dependencies { diff --git a/x-pack/plugin/sql/build.gradle b/x-pack/plugin/sql/build.gradle index 7b31b4047b4cf..81124601a343c 100644 --- a/x-pack/plugin/sql/build.gradle +++ b/x-pack/plugin/sql/build.gradle @@ -7,7 +7,7 @@ esplugin { name 'x-pack-sql' description 'The Elasticsearch plugin that powers SQL for Elasticsearch' classname 'org.elasticsearch.xpack.sql.plugin.SqlPlugin' - extendedPlugins = ['x-pack-ql', 'lang-painless'] + extendedPlugins = ['x-pack-ql'] } ext { @@ -29,6 +29,7 @@ configurations { archivesBaseName = 'x-pack-sql' dependencies { + compileOnly project(':modules:aggregations') compileOnly project(path: xpackModule('core')) compileOnly(project(':modules:lang-painless:spi')) api project('sql-action') diff --git a/x-pack/plugin/transform/build.gradle b/x-pack/plugin/transform/build.gradle index 6e98c4e659f81..d38a1a3265c92 100644 --- a/x-pack/plugin/transform/build.gradle +++ b/x-pack/plugin/transform/build.gradle @@ -9,6 +9,7 @@ esplugin { dependencies { compileOnly project(":server") + compileOnly project(':modules:aggregations') compileOnly project(path: xpackModule('core')) testImplementation(testArtifact(project(xpackModule('core')))) diff --git a/x-pack/plugin/watcher/build.gradle b/x-pack/plugin/watcher/build.gradle index 7685703851f42..d9ee578b1e241 100644 --- a/x-pack/plugin/watcher/build.gradle +++ b/x-pack/plugin/watcher/build.gradle @@ -6,7 +6,7 @@ esplugin { classname 'org.elasticsearch.xpack.watcher.Watcher' hasNativeController false requiresKeystore false - extendedPlugins = ['x-pack-core', 'lang-painless'] + extendedPlugins = ['x-pack-core'] } archivesBaseName = 'x-pack-watcher' diff --git a/x-pack/plugin/wildcard/build.gradle b/x-pack/plugin/wildcard/build.gradle index 82f2d33ac0041..61bc707b823bf 100644 --- a/x-pack/plugin/wildcard/build.gradle +++ b/x-pack/plugin/wildcard/build.gradle @@ -7,12 +7,13 @@ esplugin { name 'wildcard' description 'A plugin for a keyword field type with efficient wildcard search' classname 'org.elasticsearch.xpack.wildcard.Wildcard' - extendedPlugins = ['x-pack-core', 'lang-painless'] + extendedPlugins = ['x-pack-core'] } archivesBaseName = 'x-pack-wildcard' dependencies { compileOnly project(':modules:lang-painless:spi') + compileOnly project(':modules:aggregations') compileOnly project(path: xpackModule('core')) testImplementation(testArtifact(project(xpackModule('core')))) }