From e609e07cfec848b7f4d1a08e8b5cd464834a08ff Mon Sep 17 00:00:00 2001 From: Rene Groeschke Date: Thu, 6 May 2021 14:02:35 +0200 Subject: [PATCH] Remove internal build logic from public build tool plugins (#72470) Extract usage of internal API from TestClustersPlugin and PluginBuildPlugin and related plugins and build logic This includes a refactoring of ElasticsearchDistribution to handle types better in a way we can differentiate between supported Elasticsearch Distribution types supported in TestCkustersPlugin and types only supported in internal plugins. It also introduces a set of internal versions of public plugins. As part of this we also generate the plugin descriptors now. As a follow up on this we can actually move these public used classes into an extra project (declared as included build) We keep LoggedExec and VersionProperties effectively public And workaround for RestTestBase --- build.gradle | 21 ++- buildSrc/build.gradle | 150 +++++++++++++++ .../DistributionDownloadPluginFuncTest.groovy | 3 +- .../gradle/TestClustersPluginFuncTest.groovy | 2 - .../DistributionDownloadFixture.groovy | 2 +- ...tributionArchiveCheckPluginFuncTest.groovy | 2 +- ...lDistributionDownloadPluginFuncTest.groovy | 17 +- .../PublishPluginFuncTest.groovy | 6 +- .../rest}/RestResourcesPluginFuncTest.groovy | 2 +- .../YamlRestCompatTestPluginFuncTest.groovy | 6 +- .../rest}/YamlRestTestPluginFuncTest.groovy | 2 +- .../src/main/groovy/elasticsearch.run.gradle | 2 +- ...elasticsearch.runtime-jdk-provision.gradle | 2 +- .../gradle/internal/AntFixtureStop.groovy | 1 + .../gradle/internal/doc/DocsTestPlugin.groovy | 4 +- .../DistributionDependency.java | 2 +- .../gradle/DistributionDownloadPlugin.java | 50 +++-- .../gradle/DistributionResolution.java | 1 - .../gradle/ElasticsearchDistribution.java | 99 +++------- .../gradle/ElasticsearchDistributionType.java | 30 +++ .../{internal => }/LazyFileOutputStream.java | 2 +- .../gradle/{internal => }/LoggedExec.java | 3 +- .../elasticsearch/gradle/ReaperPlugin.java | 10 +- .../elasticsearch/gradle/ReaperService.java | 2 +- .../{internal => }/VersionProperties.java | 4 +- .../ArchiveElasticsearchDistributionType.java | 40 ++++ .../ElasticsearchDistributionTypes.java | 16 ++ ...gTestZipElasticsearchDistributionType.java | 26 +++ .../gradle/internal/BuildPlugin.java | 16 +- .../gradle/internal/BwcSetupExtension.java | 1 + .../gradle/internal/BwcVersions.java | 1 + .../internal/ElasticsearchJavaPlugin.java | 1 + .../gradle/internal/InternalBwcGitPlugin.java | 1 + ...nternalDistributionArchiveCheckPlugin.java | 1 + .../InternalDistributionDownloadPlugin.java | 79 ++++---- .../internal/InternalPluginBuildPlugin.java | 105 +++++++++++ .../gradle/internal/InternalReaperPlugin.java | 31 ++++ .../internal/InternalTestClustersPlugin.java | 36 ++++ .../gradle/{ => internal}/NoticeTask.java | 2 +- .../internal/RepositoriesSetupPlugin.java | 1 + .../DebElasticsearchDistributionType.java | 29 +++ .../DockerElasticsearchDistributionType.java | 26 +++ ...IronBankElasticsearchDistributionType.java | 26 +++ ...ockerUbiElasticsearchDistributionType.java | 26 +++ ...nternalElasticsearchDistributionTypes.java | 23 +++ .../RpmElasticsearchDistributionType.java | 31 ++++ .../internal/docker/DockerBuildTask.java | 2 +- .../precommit/CheckstylePrecommitPlugin.java | 2 +- .../precommit/InternalPrecommitTasks.java | 8 +- .../precommit/LoggerUsagePrecommitPlugin.java | 6 +- .../internal/precommit/LoggerUsageTask.java | 2 +- .../compat/RestCompatTestTransformTask.java | 2 +- .../rest/compat/YamlRestCompatTestPlugin.java | 2 +- .../internal/test/DistroTestPlugin.java | 57 +++--- .../gradle/internal/test/RestTestPlugin.java | 13 +- .../internal/test/rest/CopyRestApiTask.java | 2 +- .../internal/test/rest/CopyRestTestsTask.java | 2 +- .../test/rest/JavaRestTestPlugin.java | 5 +- .../test/rest/RestResourcesPlugin.java | 2 +- .../internal/test/rest/RestTestUtil.java | 4 +- .../internal/vagrant/VagrantBasePlugin.java | 3 +- .../internal/vagrant/VagrantMachine.java | 2 +- .../gradle/plugin/PluginBuildPlugin.java | 96 +--------- .../precommit/JarHellPrecommitPlugin.java | 7 - .../gradle/precommit/JarHellTask.java | 2 +- .../testclusters/ElasticsearchCluster.java | 11 +- .../testclusters/ElasticsearchNode.java | 17 +- .../testclusters/TestClustersPlugin.java | 35 ++-- .../gradle/testclusters/TestDistribution.java | 1 - .../elasticsearch.build.properties | 1 - ...ticsearch.distribution-download.properties | 9 - .../elasticsearch.distro-test.properties | 9 - .../elasticsearch.docker-support.properties | 1 - .../elasticsearch.docs-test.properties | 9 - .../elasticsearch.esplugin.properties | 1 - ...elasticsearch.global-build-info.properties | 1 - ...search.internal-available-ports.properties | 10 - ...ticsearch.internal-cluster-test.properties | 9 - ...rnal-distribution-archive-check.properties | 9 - ...rnal-distribution-archive-setup.properties | 9 - ...internal-distribution-bwc-setup.properties | 9 - ....internal-distribution-download.properties | 9 - ...csearch.internal-licenseheaders.properties | 10 - ...rch.internal-test-artifact-base.properties | 9 - ...icsearch.internal-test-artifact.properties | 9 - ...asticsearch.internal-test-rerun.properties | 1 - .../elasticsearch.java-rest-test.properties | 9 - .../elasticsearch.java.properties | 1 - .../elasticsearch.jdk-download.properties | 1 - .../elasticsearch.publish.properties | 1 - .../elasticsearch.reaper.properties | 1 - .../elasticsearch.repositories.properties | 9 - .../elasticsearch.rest-resources.properties | 9 - .../elasticsearch.rest-test.properties | 1 - ...sticsearch.standalone-rest-test.properties | 9 - .../elasticsearch.standalone-test.properties | 9 - .../elasticsearch.test-base.properties | 9 - ...icsearch.test-with-dependencies.properties | 9 - .../elasticsearch.test-with-ssl.properties | 9 - .../elasticsearch.test.fixtures.properties | 1 - .../elasticsearch.testclusters.properties | 1 - ...lasticsearch.validate-rest-spec.properties | 1 - ...ticsearch.yaml-rest-compat-test.properties | 9 - .../elasticsearch.yaml-rest-test.properties | 9 - ...stractDistributionDownloadPluginTests.java | 112 +++++++++++ .../DistributionDownloadPluginTests.java | 174 ++++-------------- ...ternalDistributionDownloadPluginTests.java | 47 +++++ .../build.gradle | 2 +- client/rest-high-level/build.gradle | 2 +- distribution/build.gradle | 6 +- distribution/docker/build.gradle | 7 +- distribution/packages/build.gradle | 2 +- modules/build.gradle | 4 +- plugins/build.gradle | 4 +- plugins/discovery-azure-classic/build.gradle | 2 +- plugins/examples/custom-settings/build.gradle | 2 +- .../build.gradle | 2 +- .../examples/custom-suggester/build.gradle | 2 +- .../examples/painless-whitelist/build.gradle | 2 +- plugins/examples/rescore/build.gradle | 2 +- plugins/examples/rest-handler/build.gradle | 2 +- .../script-expert-scoring/build.gradle | 2 +- .../build.gradle | 2 +- .../build.gradle | 2 +- qa/ccs-unavailable-clusters/build.gradle | 2 +- qa/die-with-dignity/build.gradle | 2 +- qa/evil-tests/build.gradle | 2 +- qa/full-cluster-restart/build.gradle | 2 +- qa/logging-config/build.gradle | 2 +- qa/mixed-cluster/build.gradle | 4 +- qa/multi-cluster-search/build.gradle | 2 +- qa/remote-clusters/build.gradle | 5 +- qa/repository-multi-version/build.gradle | 2 +- qa/rolling-upgrade/build.gradle | 2 +- qa/smoke-test-http/build.gradle | 2 +- qa/smoke-test-ingest-disabled/build.gradle | 2 +- .../build.gradle | 2 +- qa/smoke-test-multinode/build.gradle | 2 +- qa/smoke-test-plugins/build.gradle | 2 +- qa/unconfigured-node-name/build.gradle | 2 +- qa/verify-version-constants/build.gradle | 4 +- qa/wildfly/build.gradle | 5 +- test/external-modules/build.gradle | 2 +- x-pack/plugin/analytics/build.gradle | 2 +- x-pack/plugin/async-search/build.gradle | 2 +- .../plugin/async-search/qa/rest/build.gradle | 2 +- x-pack/plugin/async/build.gradle | 2 +- x-pack/plugin/autoscaling/build.gradle | 2 +- x-pack/plugin/ccr/build.gradle | 2 +- .../downgrade-to-basic-license/build.gradle | 2 +- .../plugin/ccr/qa/multi-cluster/build.gradle | 2 +- .../ccr/qa/non-compliant-license/build.gradle | 2 +- x-pack/plugin/ccr/qa/restart/build.gradle | 2 +- x-pack/plugin/ccr/qa/security/build.gradle | 2 +- x-pack/plugin/core/build.gradle | 2 +- x-pack/plugin/data-streams/build.gradle | 2 +- x-pack/plugin/deprecation/build.gradle | 2 +- .../plugin/deprecation/qa/rest/build.gradle | 2 +- x-pack/plugin/enrich/build.gradle | 2 +- x-pack/plugin/eql/build.gradle | 2 +- x-pack/plugin/eql/qa/correctness/build.gradle | 2 +- x-pack/plugin/eql/qa/mixed-node/build.gradle | 4 +- x-pack/plugin/fleet/build.gradle | 2 +- x-pack/plugin/frozen-indices/build.gradle | 2 +- x-pack/plugin/graph/build.gradle | 2 +- x-pack/plugin/identity-provider/build.gradle | 2 +- x-pack/plugin/ilm/build.gradle | 2 +- .../plugin/ilm/qa/multi-cluster/build.gradle | 2 +- x-pack/plugin/logstash/build.gradle | 2 +- .../mapper-aggregate-metric/build.gradle | 2 +- .../mapper-constant-keyword/build.gradle | 2 +- .../plugin/mapper-unsigned-long/build.gradle | 2 +- x-pack/plugin/mapper-version/build.gradle | 2 +- x-pack/plugin/ml/build.gradle | 2 +- x-pack/plugin/monitoring/build.gradle | 2 +- x-pack/plugin/ql/build.gradle | 2 +- .../repositories-metering-api/build.gradle | 2 +- .../plugin/repository-encrypted/build.gradle | 2 +- x-pack/plugin/rollup/build.gradle | 2 +- .../plugin/search-business-rules/build.gradle | 2 +- .../plugin/searchable-snapshots/build.gradle | 2 +- x-pack/plugin/security/build.gradle | 2 +- .../qa/operator-privileges-tests/build.gradle | 2 +- x-pack/plugin/shutdown/build.gradle | 2 +- .../snapshot-repo-test-kit/build.gradle | 2 +- .../qa/rest/build.gradle | 2 +- x-pack/plugin/spatial/build.gradle | 2 +- x-pack/plugin/sql/build.gradle | 2 +- x-pack/plugin/sql/qa/jdbc/build.gradle | 4 +- x-pack/plugin/sql/qa/mixed-node/build.gradle | 4 +- x-pack/plugin/sql/qa/server/build.gradle | 2 +- x-pack/plugin/stack/build.gradle | 2 +- x-pack/plugin/text-structure/build.gradle | 2 +- x-pack/plugin/transform/build.gradle | 2 +- .../build.gradle | 2 +- x-pack/plugin/vectors/build.gradle | 2 +- x-pack/plugin/voting-only-node/build.gradle | 2 +- x-pack/plugin/watcher/build.gradle | 2 +- x-pack/plugin/wildcard/build.gradle | 2 +- .../build.gradle | 2 +- x-pack/qa/full-cluster-restart/build.gradle | 2 +- x-pack/qa/kerberos-tests/build.gradle | 2 +- x-pack/qa/mixed-tier-cluster/build.gradle | 4 +- .../build.gradle | 2 +- x-pack/qa/multi-node/build.gradle | 2 +- x-pack/qa/oidc-op-tests/build.gradle | 2 +- .../password-protected-keystore/build.gradle | 2 +- .../reindex-tests-with-security/build.gradle | 2 +- x-pack/qa/rolling-upgrade-basic/build.gradle | 2 +- .../build.gradle | 2 +- x-pack/qa/rolling-upgrade/build.gradle | 2 +- x-pack/qa/saml-idp-tests/build.gradle | 2 +- .../build.gradle | 2 +- .../build.gradle | 2 +- x-pack/qa/smoke-test-plugins-ssl/build.gradle | 2 +- x-pack/qa/smoke-test-plugins/build.gradle | 2 +- .../build.gradle | 2 +- x-pack/qa/third-party/jira/build.gradle | 2 +- x-pack/qa/third-party/pagerduty/build.gradle | 2 +- x-pack/qa/third-party/slack/build.gradle | 2 +- x-pack/quota-aware-fs/build.gradle | 2 +- x-pack/test/idp-fixture/build.gradle | 5 +- 222 files changed, 1183 insertions(+), 853 deletions(-) rename buildSrc/src/integTest/groovy/org/elasticsearch/gradle/{ => internal}/PublishPluginFuncTest.groovy (98%) rename buildSrc/src/integTest/groovy/org/elasticsearch/gradle/{ => internal/test/rest}/RestResourcesPluginFuncTest.groovy (99%) rename buildSrc/src/integTest/groovy/org/elasticsearch/gradle/{ => internal/test/rest}/YamlRestCompatTestPluginFuncTest.groovy (99%) rename buildSrc/src/integTest/groovy/org/elasticsearch/gradle/{ => internal/test/rest}/YamlRestTestPluginFuncTest.groovy (98%) rename buildSrc/src/main/java/org/elasticsearch/gradle/{internal => }/DistributionDependency.java (96%) create mode 100644 buildSrc/src/main/java/org/elasticsearch/gradle/ElasticsearchDistributionType.java rename buildSrc/src/main/java/org/elasticsearch/gradle/{internal => }/LazyFileOutputStream.java (97%) rename buildSrc/src/main/java/org/elasticsearch/gradle/{internal => }/LoggedExec.java (98%) rename buildSrc/src/main/java/org/elasticsearch/gradle/{internal => }/VersionProperties.java (97%) create mode 100644 buildSrc/src/main/java/org/elasticsearch/gradle/distribution/ArchiveElasticsearchDistributionType.java create mode 100644 buildSrc/src/main/java/org/elasticsearch/gradle/distribution/ElasticsearchDistributionTypes.java create mode 100644 buildSrc/src/main/java/org/elasticsearch/gradle/distribution/IntegTestZipElasticsearchDistributionType.java create mode 100644 buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalPluginBuildPlugin.java create mode 100644 buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalReaperPlugin.java create mode 100644 buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalTestClustersPlugin.java rename buildSrc/src/main/java/org/elasticsearch/gradle/{ => internal}/NoticeTask.java (99%) create mode 100644 buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DebElasticsearchDistributionType.java create mode 100644 buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DockerElasticsearchDistributionType.java create mode 100644 buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DockerIronBankElasticsearchDistributionType.java create mode 100644 buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DockerUbiElasticsearchDistributionType.java create mode 100644 buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/InternalElasticsearchDistributionTypes.java create mode 100644 buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/RpmElasticsearchDistributionType.java delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.build.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.distribution-download.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.distro-test.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.docker-support.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.docs-test.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.esplugin.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.global-build-info.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-available-ports.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-cluster-test.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-archive-check.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-archive-setup.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-bwc-setup.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-download.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-licenseheaders.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-test-artifact-base.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-test-artifact.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-test-rerun.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.java-rest-test.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.java.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.jdk-download.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.publish.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.reaper.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.repositories.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.rest-resources.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.rest-test.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.standalone-rest-test.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.standalone-test.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test-base.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test-with-dependencies.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test-with-ssl.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test.fixtures.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.testclusters.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.validate-rest-spec.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.yaml-rest-compat-test.properties delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.yaml-rest-test.properties create mode 100644 buildSrc/src/test/java/org/elasticsearch/gradle/AbstractDistributionDownloadPluginTests.java create mode 100644 buildSrc/src/test/java/org/elasticsearch/gradle/internal/InternalDistributionDownloadPluginTests.java diff --git a/build.gradle b/build.gradle index 1589f97bf1e4..0f68a3500fa2 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ import de.thetaphi.forbiddenapis.gradle.ForbiddenApisPlugin import org.apache.tools.ant.taskdefs.condition.Os import org.elasticsearch.gradle.internal.BuildPlugin import org.elasticsearch.gradle.Version -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.plugin.PluginBuildPlugin import org.gradle.plugins.ide.eclipse.model.AccessRule @@ -22,6 +22,9 @@ import org.gradle.util.GradleVersion import static org.elasticsearch.gradle.util.GradleUtils.maybeConfigure import org.gradle.plugins.ide.eclipse.model.ProjectDependency import org.elasticsearch.gradle.testclusters.TestClustersPlugin +import org.elasticsearch.gradle.internal.test.RestTestBasePlugin +import org.elasticsearch.gradle.internal.InternalPluginBuildPlugin +import org.elasticsearch.gradle.internal.InternalTestClustersPlugin plugins { id 'lifecycle-base' @@ -37,7 +40,7 @@ plugins { id 'elasticsearch.formatting' id 'elasticsearch.local-distribution' id 'elasticsearch.fips' - id 'elasticsearch.testclusters' + id 'elasticsearch.internal-testclusters' id 'elasticsearch.run' id "com.diffplug.spotless" version "5.12.0" apply false } @@ -108,6 +111,19 @@ subprojects { project.noticeFile = project.rootProject.file('NOTICE.txt') } + plugins.withType(InternalPluginBuildPlugin).whenPluginAdded { + project.dependencies { + compileOnly project(":server") + testImplementation project(":test:framework") + } + } + + // Ultimately the RestTestBase Plugin should apply the InternalTestClusters Plugin itself instead of TestClusters + // but this requires major rework on the func test infrastructure. + // TODO: This will be addressed once we have https://github.com/elastic/elasticsearch/issues/71593 resolved + project.plugins.withType(RestTestBasePlugin) { + project.plugins.apply(InternalTestClustersPlugin) + } } /** @@ -129,7 +145,6 @@ ext.testArtifact = { p, String name = "test" -> }; } - tasks.register("updateCIBwcVersions") { doLast { File yml = file(".ci/bwcVersions") diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 19361cc7a5de..7dec46e2da13 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -36,6 +36,156 @@ gradlePlugin { // We already configure publication and we don't need or want the one that comes // with the java-gradle-plugin automatedPublishing = false + plugins { + build { + id = 'elasticsearch.build' + implementationClass = 'org.elasticsearch.gradle.internal.BuildPlugin' + } + distributionDownload { + id = 'elasticsearch.distribution-download' + implementationClass = 'org.elasticsearch.gradle.DistributionDownloadPlugin' + } + distroTest { + id = 'elasticsearch.distro-test' + implementationClass = 'org.elasticsearch.gradle.internal.test.DistroTestPlugin' + } + dockerSupport { + id = 'elasticsearch.docker-support' + implementationClass = 'org.elasticsearch.gradle.internal.docker.DockerSupportPlugin' + } + docsTest { + id = 'elasticsearch.docs-test' + implementationClass = 'org.elasticsearch.gradle.internal.doc.DocsTestPlugin' + } + esPlugin { + id = 'elasticsearch.esplugin' + implementationClass = 'org.elasticsearch.gradle.plugin.PluginBuildPlugin' + } + globalBuildInfo { + id = 'elasticsearch.global-build-info' + implementationClass = 'org.elasticsearch.gradle.internal.info.GlobalBuildInfoPlugin' + } + internalAvailablePorts { + id = 'elasticsearch.internal-available-ports' + implementationClass = 'org.elasticsearch.gradle.internal.InternalAvailableTcpPortProviderPlugin' + } + internalClusterTest { + id = 'elasticsearch.internal-cluster-test' + implementationClass = 'org.elasticsearch.gradle.internal.test.InternalClusterTestPlugin' + } + internalDistributionArchiveCheck { + id = 'elasticsearch.internal-distribution-archive-check' + implementationClass = 'org.elasticsearch.gradle.internal.InternalDistributionArchiveCheckPlugin' + } + internalDistributionArchiveSetup { + id = 'elasticsearch.internal-distribution-archive-setup' + implementationClass = 'org.elasticsearch.gradle.internal.InternalDistributionArchiveSetupPlugin' + } + internalDistributionBwcSetup { + id = 'elasticsearch.internal-distribution-bwc-setup' + implementationClass = 'org.elasticsearch.gradle.internal.InternalDistributionBwcSetupPlugin' + } + internalDistributionDownload { + id = 'elasticsearch.internal-distribution-download' + implementationClass = 'org.elasticsearch.gradle.internal.InternalDistributionDownloadPlugin' + } + internalLicenseheaders { + id = 'elasticsearch.internal-licenseheaders' + implementationClass = 'org.elasticsearch.gradle.internal.precommit.LicenseHeadersPrecommitPlugin' + } + internalPlugin { + id = 'elasticsearch.internal-es-plugin' + implementationClass = 'org.elasticsearch.gradle.internal.InternalPluginBuildPlugin' + } + internalTestArtifact { + id = 'elasticsearch.internal-test-artifact' + implementationClass = 'org.elasticsearch.gradle.internal.InternalTestArtifactPlugin' + } + internalTestArtifactBase { + id = 'elasticsearch.internal-test-artifact-base' + implementationClass = 'org.elasticsearch.gradle.internal.InternalTestArtifactBasePlugin' + } + internalTestClusters { + id = 'elasticsearch.internal-testclusters' + implementationClass = 'org.elasticsearch.gradle.internal.InternalTestClustersPlugin' + } + internalTestRerun { + id = 'elasticsearch.internal-test-rerun' + implementationClass = 'org.elasticsearch.gradle.internal.test.rerun.TestRerunPlugin' + } + java { + id = 'elasticsearch.java' + implementationClass = 'org.elasticsearch.gradle.internal.ElasticsearchJavaPlugin' + } + javaRestTest { + id = 'elasticsearch.java-rest-test' + implementationClass = 'org.elasticsearch.gradle.internal.test.rest.JavaRestTestPlugin' + } + jdkDownload { + id = 'elasticsearch.jdk-download' + implementationClass = 'org.elasticsearch.gradle.internal.JdkDownloadPlugin' + } + publish { + id = 'elasticsearch.publish' + implementationClass = 'org.elasticsearch.gradle.internal.PublishPlugin' + } + reaper { + id = 'elasticsearch.reaper' + implementationClass = 'org.elasticsearch.gradle.ReaperPlugin' + } + repositories { + id = 'elasticsearch.repositories' + implementationClass = 'org.elasticsearch.gradle.internal.RepositoriesSetupPlugin' + } + restResources { + id = 'elasticsearch.rest-resources' + implementationClass = 'org.elasticsearch.gradle.internal.test.rest.RestResourcesPlugin' + } + restTest { + id = 'elasticsearch.rest-test' + implementationClass = 'org.elasticsearch.gradle.internal.test.RestTestPlugin' + } + standaloneRestTest { + id = 'elasticsearch.standalone-rest-test' + implementationClass = 'org.elasticsearch.gradle.internal.test.StandaloneRestTestPlugin' + } + standaloneTest { + id = 'elasticsearch.standalone-test' + implementationClass = 'org.elasticsearch.gradle.internal.test.StandaloneTestPlugin' + } + testFixtures { + id = 'elasticsearch.test.fixtures' + implementationClass = 'org.elasticsearch.gradle.internal.testfixtures.TestFixturesPlugin' + } + testBase { + id = 'elasticsearch.test-base' + implementationClass = 'org.elasticsearch.gradle.internal.ElasticsearchTestBasePlugin' + } + testWithDependencies { + id = 'elasticsearch.test-with-dependencies' + implementationClass = 'org.elasticsearch.gradle.internal.test.TestWithDependenciesPlugin' + } + testWithSsl { + id = 'elasticsearch.test-with-ssl' + implementationClass = 'org.elasticsearch.gradle.internal.test.TestWithSslPlugin' + } + testclusters { + id = 'elasticsearch.testclusters' + implementationClass = 'org.elasticsearch.gradle.testclusters.TestClustersPlugin' + } + validateRestSpec { + id = 'elasticsearch.validate-rest-spec' + implementationClass = 'org.elasticsearch.gradle.internal.precommit.ValidateRestSpecPlugin' + } + yamlRestCompatTest { + id = 'elasticsearch.yaml-rest-compat-test' + implementationClass = 'org.elasticsearch.gradle.internal.rest.compat.YamlRestCompatTestPlugin' + } + yamlRestTest { + id = 'elasticsearch.yaml-rest-test' + implementationClass = 'org.elasticsearch.gradle.internal.test.rest.YamlRestTestPlugin' + } + } } def generateVersionProperties = tasks.register("generateVersionProperties", WriteProperties) { outputFile = "${buildDir}/version.properties" diff --git a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/DistributionDownloadPluginFuncTest.groovy b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/DistributionDownloadPluginFuncTest.groovy index c1b9e084c82f..1e461665d713 100644 --- a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/DistributionDownloadPluginFuncTest.groovy +++ b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/DistributionDownloadPluginFuncTest.groovy @@ -9,7 +9,6 @@ package org.elasticsearch.gradle import org.elasticsearch.gradle.fixtures.AbstractGradleFuncTest -import org.elasticsearch.gradle.internal.VersionProperties import org.gradle.testkit.runner.TaskOutcome import spock.lang.Unroll @@ -18,7 +17,7 @@ import static org.elasticsearch.gradle.fixtures.DistributionDownloadFixture.with class DistributionDownloadPluginFuncTest extends AbstractGradleFuncTest { @Unroll - def "#distType version can be resolved"() { + def "extracted #distType version can be resolved"() { given: buildFile << applyPluginAndSetupDistro(version, platform) diff --git a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/TestClustersPluginFuncTest.groovy b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/TestClustersPluginFuncTest.groovy index 723d30182394..326b7a68360a 100644 --- a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/TestClustersPluginFuncTest.groovy +++ b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/TestClustersPluginFuncTest.groovy @@ -136,8 +136,6 @@ class TestClustersPluginFuncTest extends AbstractGradleFuncTest { description = "test module description" } - licenseFile = file('license.txt') - noticeFile = file('notice.txt') version = "1.0" group = 'org.acme' """ diff --git a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/fixtures/DistributionDownloadFixture.groovy b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/fixtures/DistributionDownloadFixture.groovy index ef7553a813e5..172b94bb8b94 100644 --- a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/fixtures/DistributionDownloadFixture.groovy +++ b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/fixtures/DistributionDownloadFixture.groovy @@ -10,7 +10,7 @@ package org.elasticsearch.gradle.fixtures import org.elasticsearch.gradle.Architecture import org.elasticsearch.gradle.ElasticsearchDistribution -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties import org.gradle.testkit.runner.BuildResult import org.gradle.testkit.runner.GradleRunner diff --git a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/InternalDistributionArchiveCheckPluginFuncTest.groovy b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/InternalDistributionArchiveCheckPluginFuncTest.groovy index 65f5cf1361a4..74eacb0b5a5a 100644 --- a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/InternalDistributionArchiveCheckPluginFuncTest.groovy +++ b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/InternalDistributionArchiveCheckPluginFuncTest.groovy @@ -8,7 +8,7 @@ package org.elasticsearch.gradle.internal - +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.fixtures.AbstractGradleFuncTest import org.gradle.testkit.runner.TaskOutcome import spock.lang.Unroll diff --git a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/InternalDistributionDownloadPluginFuncTest.groovy b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/InternalDistributionDownloadPluginFuncTest.groovy index 36ae97d50412..24ebcd4d61c9 100644 --- a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/InternalDistributionDownloadPluginFuncTest.groovy +++ b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/InternalDistributionDownloadPluginFuncTest.groovy @@ -9,28 +9,13 @@ package org.elasticsearch.gradle.internal import org.elasticsearch.gradle.Architecture +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.fixtures.AbstractGradleFuncTest import org.gradle.testkit.runner.TaskOutcome class InternalDistributionDownloadPluginFuncTest extends AbstractGradleFuncTest { - def "plugin application fails on non internal build"() { - given: - buildFile.text = """ - plugins { - id 'elasticsearch.internal-distribution-download' - } - """ - - when: - def result = gradleRunner("tasks").buildAndFail() - - then: - assertOutputContains(result.output, "Plugin 'elasticsearch.internal-distribution-download' is not supported. " + - "Use 'elasticsearch.distribution-download' plugin instead") - } - def "resolves current version from local build"() { given: internalBuild() diff --git a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/PublishPluginFuncTest.groovy b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/PublishPluginFuncTest.groovy similarity index 98% rename from buildSrc/src/integTest/groovy/org/elasticsearch/gradle/PublishPluginFuncTest.groovy rename to buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/PublishPluginFuncTest.groovy index 662df81b515b..91da45438184 100644 --- a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/PublishPluginFuncTest.groovy +++ b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/PublishPluginFuncTest.groovy @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.gradle +package org.elasticsearch.gradle.internal import org.elasticsearch.gradle.fixtures.AbstractGradleFuncTest import org.gradle.testkit.runner.TaskOutcome @@ -57,7 +57,7 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest { file('notice.txt') << "Notice file" buildFile << """ plugins { - id 'elasticsearch.esplugin' + id 'elasticsearch.internal-es-plugin' id 'elasticsearch.publish' id 'com.github.johnrengelman.shadow' } @@ -115,7 +115,7 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest { file('notice.txt') << "Notice file" buildFile << """ plugins { - id 'elasticsearch.esplugin' + id 'elasticsearch.internal-es-plugin' id 'elasticsearch.publish' } diff --git a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/RestResourcesPluginFuncTest.groovy b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/test/rest/RestResourcesPluginFuncTest.groovy similarity index 99% rename from buildSrc/src/integTest/groovy/org/elasticsearch/gradle/RestResourcesPluginFuncTest.groovy rename to buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/test/rest/RestResourcesPluginFuncTest.groovy index ff2d79830189..b69cd7312efa 100644 --- a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/RestResourcesPluginFuncTest.groovy +++ b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/test/rest/RestResourcesPluginFuncTest.groovy @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.gradle +package org.elasticsearch.gradle.internal.test.rest import org.elasticsearch.gradle.fixtures.AbstractRestResourcesFuncTest import org.gradle.testkit.runner.TaskOutcome diff --git a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/YamlRestCompatTestPluginFuncTest.groovy b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/test/rest/YamlRestCompatTestPluginFuncTest.groovy similarity index 99% rename from buildSrc/src/integTest/groovy/org/elasticsearch/gradle/YamlRestCompatTestPluginFuncTest.groovy rename to buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/test/rest/YamlRestCompatTestPluginFuncTest.groovy index db74eaf9b09f..dabf7f6d6737 100644 --- a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/YamlRestCompatTestPluginFuncTest.groovy +++ b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/test/rest/YamlRestCompatTestPluginFuncTest.groovy @@ -6,14 +6,15 @@ * Side Public License, v 1. */ -package org.elasticsearch.gradle +package org.elasticsearch.gradle.internal.test.rest import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.databind.SequenceWriter import com.fasterxml.jackson.databind.node.ObjectNode import com.fasterxml.jackson.dataformat.yaml.YAMLFactory +import org.elasticsearch.gradle.Version import org.elasticsearch.gradle.fixtures.AbstractRestResourcesFuncTest -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties import org.gradle.testkit.runner.TaskOutcome class YamlRestCompatTestPluginFuncTest extends AbstractRestResourcesFuncTest { @@ -29,7 +30,6 @@ class YamlRestCompatTestPluginFuncTest extends AbstractRestResourcesFuncTest { def "yamlRestCompatTest does nothing when there are no tests"() { given: - addSubProject(":distribution:bwc:minor") << """ configurations { checkout } artifacts { diff --git a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/YamlRestTestPluginFuncTest.groovy b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/test/rest/YamlRestTestPluginFuncTest.groovy similarity index 98% rename from buildSrc/src/integTest/groovy/org/elasticsearch/gradle/YamlRestTestPluginFuncTest.groovy rename to buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/test/rest/YamlRestTestPluginFuncTest.groovy index f581f5f7b603..9cfd51d074be 100644 --- a/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/YamlRestTestPluginFuncTest.groovy +++ b/buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/test/rest/YamlRestTestPluginFuncTest.groovy @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.gradle +package org.elasticsearch.gradle.internal.test.rest import org.elasticsearch.gradle.fixtures.AbstractRestResourcesFuncTest import org.gradle.testkit.runner.TaskOutcome diff --git a/buildSrc/src/main/groovy/elasticsearch.run.gradle b/buildSrc/src/main/groovy/elasticsearch.run.gradle index ef654d91ac73..92953ebbe01c 100644 --- a/buildSrc/src/main/groovy/elasticsearch.run.gradle +++ b/buildSrc/src/main/groovy/elasticsearch.run.gradle @@ -10,7 +10,7 @@ import org.elasticsearch.gradle.testclusters.RunTask // gradle has an open issue of failing applying plugins in // precompiled script plugins (see https://github.com/gradle/gradle/issues/17004) -// apply plugin: 'elasticsearch.testclusters' +// apply plugin: 'elasticsearch.internal-testclusters' testClusters { runTask { diff --git a/buildSrc/src/main/groovy/elasticsearch.runtime-jdk-provision.gradle b/buildSrc/src/main/groovy/elasticsearch.runtime-jdk-provision.gradle index 3b2fb528f92e..5875bb1cbe34 100644 --- a/buildSrc/src/main/groovy/elasticsearch.runtime-jdk-provision.gradle +++ b/buildSrc/src/main/groovy/elasticsearch.runtime-jdk-provision.gradle @@ -8,7 +8,7 @@ import org.elasticsearch.gradle.Architecture import org.elasticsearch.gradle.OS -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.internal.info.BuildParams // gradle has an open issue of failing applying plugins in diff --git a/buildSrc/src/main/groovy/org/elasticsearch/gradle/internal/AntFixtureStop.groovy b/buildSrc/src/main/groovy/org/elasticsearch/gradle/internal/AntFixtureStop.groovy index 9ea17c5ef14b..71ef7f0c306c 100644 --- a/buildSrc/src/main/groovy/org/elasticsearch/gradle/internal/AntFixtureStop.groovy +++ b/buildSrc/src/main/groovy/org/elasticsearch/gradle/internal/AntFixtureStop.groovy @@ -10,6 +10,7 @@ package org.elasticsearch.gradle.internal import org.apache.tools.ant.taskdefs.condition.Os import org.elasticsearch.gradle.FixtureStop +import org.elasticsearch.gradle.LoggedExec import org.elasticsearch.gradle.internal.test.AntFixture import org.gradle.api.file.FileSystemOperations import org.gradle.api.tasks.Internal diff --git a/buildSrc/src/main/groovy/org/elasticsearch/gradle/internal/doc/DocsTestPlugin.groovy b/buildSrc/src/main/groovy/org/elasticsearch/gradle/internal/doc/DocsTestPlugin.groovy index 7a58785b4aa4..2d68538c0ccb 100644 --- a/buildSrc/src/main/groovy/org/elasticsearch/gradle/internal/doc/DocsTestPlugin.groovy +++ b/buildSrc/src/main/groovy/org/elasticsearch/gradle/internal/doc/DocsTestPlugin.groovy @@ -9,7 +9,7 @@ package org.elasticsearch.gradle.internal.doc import org.elasticsearch.gradle.OS import org.elasticsearch.gradle.Version -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.file.Directory @@ -23,7 +23,7 @@ class DocsTestPlugin implements Plugin { @Override void apply(Project project) { - project.pluginManager.apply('elasticsearch.testclusters') + project.pluginManager.apply('elasticsearch.internal-testclusters') project.pluginManager.apply('elasticsearch.standalone-rest-test') project.pluginManager.apply('elasticsearch.rest-test') diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/DistributionDependency.java b/buildSrc/src/main/java/org/elasticsearch/gradle/DistributionDependency.java similarity index 96% rename from buildSrc/src/main/java/org/elasticsearch/gradle/internal/DistributionDependency.java rename to buildSrc/src/main/java/org/elasticsearch/gradle/DistributionDependency.java index a08310994c87..44071305628b 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/DistributionDependency.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/DistributionDependency.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.gradle.internal; +package org.elasticsearch.gradle; public interface DistributionDependency { static DistributionDependency of(String dependencyNotation) { diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/DistributionDownloadPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/DistributionDownloadPlugin.java index 646dbcf24b47..b9afb80bb531 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/DistributionDownloadPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/DistributionDownloadPlugin.java @@ -8,14 +8,9 @@ package org.elasticsearch.gradle; -import org.elasticsearch.gradle.ElasticsearchDistribution.Platform; -import org.elasticsearch.gradle.ElasticsearchDistribution.Type; -import org.elasticsearch.gradle.internal.docker.DockerSupportPlugin; -import org.elasticsearch.gradle.internal.docker.DockerSupportService; -import org.elasticsearch.gradle.internal.DistributionDependency; +import org.elasticsearch.gradle.distribution.ElasticsearchDistributionTypes; import org.elasticsearch.gradle.transform.SymbolicLinkPreservingUntarTransform; import org.elasticsearch.gradle.transform.UnzipTransform; -import org.elasticsearch.gradle.util.GradleUtils; import org.gradle.api.NamedDomainObjectContainer; import org.gradle.api.Plugin; import org.gradle.api.Project; @@ -24,8 +19,11 @@ import org.gradle.api.artifacts.dsl.DependencyHandler; import org.gradle.api.artifacts.repositories.IvyArtifactRepository; import org.gradle.api.artifacts.type.ArtifactTypeDefinition; import org.gradle.api.internal.artifacts.ArtifactAttributes; +import org.gradle.api.model.ObjectFactory; +import org.gradle.api.provider.Property; import org.gradle.api.provider.Provider; +import javax.inject.Inject; import java.util.Comparator; /** @@ -48,14 +46,19 @@ public class DistributionDownloadPlugin implements Plugin { private NamedDomainObjectContainer distributionsContainer; private NamedDomainObjectContainer distributionsResolutionStrategiesContainer; + private Property dockerAvailability; + + @Inject + public DistributionDownloadPlugin(ObjectFactory objectFactory) { + this.dockerAvailability = objectFactory.property(Boolean.class).value(false); + } + + public void setDockerAvailability(Provider dockerAvailability) { + this.dockerAvailability.set(dockerAvailability); + } + @Override public void apply(Project project) { - project.getRootProject().getPluginManager().apply(DockerSupportPlugin.class); - Provider dockerSupport = GradleUtils.getBuildService( - project.getGradle().getSharedServices(), - DockerSupportPlugin.DOCKER_SUPPORT_SERVICE_NAME - ); - project.getDependencies().registerTransform(UnzipTransform.class, transformSpec -> { transformSpec.getFrom().attribute(ArtifactAttributes.ARTIFACT_FORMAT, ArtifactTypeDefinition.ZIP_TYPE); transformSpec.getTo().attribute(ArtifactAttributes.ARTIFACT_FORMAT, ArtifactTypeDefinition.DIRECTORY_TYPE); @@ -68,11 +71,11 @@ public class DistributionDownloadPlugin implements Plugin { }); setupResolutionsContainer(project); - setupDistributionContainer(project, dockerSupport); + setupDistributionContainer(project, dockerAvailability); setupDownloadServiceRepo(project); } - private void setupDistributionContainer(Project project, Provider dockerSupport) { + private void setupDistributionContainer(Project project, Property dockerAvailable) { distributionsContainer = project.container(ElasticsearchDistribution.class, name -> { Configuration fileConfiguration = project.getConfigurations().create("es_distro_file_" + name); Configuration extractedConfiguration = project.getConfigurations().create(DISTRO_EXTRACTED_CONFIG_PREFIX + name); @@ -80,7 +83,7 @@ public class DistributionDownloadPlugin implements Plugin { return new ElasticsearchDistribution( name, project.getObjects(), - dockerSupport, + dockerAvailability, fileConfiguration, extractedConfiguration, (dist) -> finalizeDistributionDependencies(project, dist) @@ -160,23 +163,12 @@ public class DistributionDownloadPlugin implements Plugin { * coordinates that resolve to the Elastic download service through an ivy repository. */ private String dependencyNotation(ElasticsearchDistribution distribution) { - if (distribution.getType() == Type.INTEG_TEST_ZIP) { + if (distribution.getType() == ElasticsearchDistributionTypes.INTEG_TEST_ZIP) { return "org.elasticsearch.distribution.integ-test-zip:elasticsearch:" + distribution.getVersion() + "@zip"; } - Version distroVersion = Version.fromString(distribution.getVersion()); - String extension = distribution.getType().toString(); - String classifier = ":" + Architecture.current().classifier; - if (distribution.getType() == Type.ARCHIVE) { - extension = distribution.getPlatform() == Platform.WINDOWS ? "zip" : "tar.gz"; - if (distroVersion.onOrAfter("7.0.0")) { - classifier = ":" + distribution.getPlatform() + "-" + Architecture.current().classifier; - } else { - classifier = ""; - } - } else if (distribution.getType() == Type.DEB) { - classifier = ":amd64"; - } + String extension = distribution.getType().getExtension(distribution.getPlatform()); + String classifier = distribution.getType().getClassifier(distribution.getPlatform(), distroVersion); String group = distribution.getVersion().endsWith("-SNAPSHOT") ? FAKE_SNAPSHOT_IVY_GROUP : FAKE_IVY_GROUP; return group + ":elasticsearch" + ":" + distribution.getVersion() + classifier + "@" + extension; } diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/DistributionResolution.java b/buildSrc/src/main/java/org/elasticsearch/gradle/DistributionResolution.java index 917f4679d145..3b82c9f6975a 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/DistributionResolution.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/DistributionResolution.java @@ -8,7 +8,6 @@ package org.elasticsearch.gradle; -import org.elasticsearch.gradle.internal.DistributionDependency; import org.gradle.api.Project; public class DistributionResolution { diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/ElasticsearchDistribution.java b/buildSrc/src/main/java/org/elasticsearch/gradle/ElasticsearchDistribution.java index d0e17a2d950d..5350b6698cb3 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/ElasticsearchDistribution.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/ElasticsearchDistribution.java @@ -8,14 +8,12 @@ package org.elasticsearch.gradle; -import org.elasticsearch.gradle.internal.VersionProperties; -import org.elasticsearch.gradle.internal.docker.DockerSupportService; +import org.elasticsearch.gradle.distribution.ElasticsearchDistributionTypes; import org.gradle.api.Action; import org.gradle.api.Buildable; import org.gradle.api.artifacts.Configuration; import org.gradle.api.model.ObjectFactory; import org.gradle.api.provider.Property; -import org.gradle.api.provider.Provider; import org.gradle.api.tasks.TaskDependency; import java.io.File; @@ -36,49 +34,6 @@ public class ElasticsearchDistribution implements Buildable, Iterable { } } - public enum Type { - INTEG_TEST_ZIP, - ARCHIVE, - RPM, - DEB, - DOCKER, - // This is a different flavour of Docker image - DOCKER_UBI, - // Like UBI, but a little different. - DOCKER_IRON_BANK; - - @Override - public String toString() { - return super.toString().toLowerCase(Locale.ROOT); - } - - public boolean shouldExtract() { - switch (this) { - case DEB: - case DOCKER: - case DOCKER_UBI: - case DOCKER_IRON_BANK: - case RPM: - return false; - - default: - return true; - } - } - - public boolean isDocker() { - switch (this) { - case DOCKER: - case DOCKER_UBI: - case DOCKER_IRON_BANK: - return true; - - default: - return false; - } - } - } - // package private to tests can use public static final Platform CURRENT_PLATFORM = OS.conditional() .onLinux(() -> Platform.LINUX) @@ -87,13 +42,13 @@ public class ElasticsearchDistribution implements Buildable, Iterable { .supply(); private final String name; - private final Provider dockerSupport; + private final Property dockerAvailability; // pkg private so plugin can configure final Configuration configuration; private final Property architecture; private final Property version; - private final Property type; + private final Property type; private final Property platform; private final Property bundledJdk; private final Property failIfUnavailable; @@ -104,18 +59,18 @@ public class ElasticsearchDistribution implements Buildable, Iterable { ElasticsearchDistribution( String name, ObjectFactory objectFactory, - Provider dockerSupport, + Property dockerAvailability, Configuration fileConfiguration, Configuration extractedConfiguration, Action distributionFinalizer ) { this.name = name; - this.dockerSupport = dockerSupport; + this.dockerAvailability = dockerAvailability; this.configuration = fileConfiguration; this.architecture = objectFactory.property(Architecture.class); this.version = objectFactory.property(String.class).convention(VersionProperties.getElasticsearch()); - this.type = objectFactory.property(Type.class); - this.type.convention(Type.ARCHIVE); + this.type = objectFactory.property(ElasticsearchDistributionType.class); + this.type.convention(ElasticsearchDistributionTypes.ARCHIVE); this.platform = objectFactory.property(Platform.class); this.bundledJdk = objectFactory.property(Boolean.class); this.failIfUnavailable = objectFactory.property(Boolean.class).convention(true); @@ -144,14 +99,27 @@ public class ElasticsearchDistribution implements Buildable, Iterable { this.platform.set(platform); } - public Type getType() { + public ElasticsearchDistributionType getType() { return type.get(); } - public void setType(Type type) { + public void setType(ElasticsearchDistributionType type) { this.type.set(type); } + /** + * For simplicity only public distribution types are supported here + * */ + public void setType(String type) { + if (type.equals(ElasticsearchDistributionTypes.ARCHIVE.getName())) { + this.type.set(ElasticsearchDistributionTypes.ARCHIVE); + } else if (type.equals(ElasticsearchDistributionTypes.INTEG_TEST_ZIP.getName())) { + this.type.set(ElasticsearchDistributionTypes.INTEG_TEST_ZIP); + } else { + throw new IllegalArgumentException("Cannot set Elasticsearch Distribution type to " + type + ". Type unknown."); + } + } + public boolean getBundledJdk() { return bundledJdk.getOrElse(true); } @@ -205,19 +173,12 @@ public class ElasticsearchDistribution implements Buildable, Iterable { } public Configuration getExtracted() { - switch (getType()) { - case DEB: - case DOCKER: - case DOCKER_UBI: - case DOCKER_IRON_BANK: - case RPM: - throw new UnsupportedOperationException( - "distribution type [" + getType() + "] for " + "elasticsearch distribution [" + name + "] cannot be extracted" - ); - - default: - return extracted; + if (getType().shouldExtract() == false) { + throw new UnsupportedOperationException( + "distribution type [" + getType().getName() + "] for " + "elasticsearch distribution [" + name + "] cannot be extracted" + ); } + return extracted; } @Override @@ -231,7 +192,7 @@ public class ElasticsearchDistribution implements Buildable, Iterable { } private boolean skippingDockerDistributionBuild() { - return isDocker() && getFailIfUnavailable() == false && dockerSupport.get().getDockerAvailability().isAvailable == false; + return isDocker() && getFailIfUnavailable() == false && dockerAvailability.get() == false; } @Override @@ -242,7 +203,7 @@ public class ElasticsearchDistribution implements Buildable, Iterable { // internal, make this distribution's configuration unmodifiable void finalizeValues() { - if (getType() == Type.INTEG_TEST_ZIP) { + if (getType() == ElasticsearchDistributionTypes.INTEG_TEST_ZIP) { if (platform.getOrNull() != null) { throw new IllegalArgumentException( "platform cannot be set on elasticsearch distribution [" + name + "] of type [integ_test_zip]" @@ -262,7 +223,7 @@ public class ElasticsearchDistribution implements Buildable, Iterable { ); } - if (getType() == Type.ARCHIVE) { + if (getType() == ElasticsearchDistributionTypes.ARCHIVE) { // defaults for archive, set here instead of via convention so integ-test-zip can verify they are not set if (platform.isPresent() == false) { platform.set(CURRENT_PLATFORM); diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/ElasticsearchDistributionType.java b/buildSrc/src/main/java/org/elasticsearch/gradle/ElasticsearchDistributionType.java new file mode 100644 index 000000000000..7661e346f809 --- /dev/null +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/ElasticsearchDistributionType.java @@ -0,0 +1,30 @@ +/* + * 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.gradle; + +public interface ElasticsearchDistributionType { + + String getName(); + + default boolean isDocker() { + return false; + }; + + default boolean shouldExtract() { + return false; + }; + + default String getExtension(ElasticsearchDistribution.Platform platform) { + return getName(); + } + + default String getClassifier(ElasticsearchDistribution.Platform platform, Version version) { + return ":" + Architecture.current().classifier; + } +} diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/LazyFileOutputStream.java b/buildSrc/src/main/java/org/elasticsearch/gradle/LazyFileOutputStream.java similarity index 97% rename from buildSrc/src/main/java/org/elasticsearch/gradle/internal/LazyFileOutputStream.java rename to buildSrc/src/main/java/org/elasticsearch/gradle/LazyFileOutputStream.java index a3c6f82aec17..dd7dd45649b0 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/LazyFileOutputStream.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/LazyFileOutputStream.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.gradle.internal; +package org.elasticsearch.gradle; import java.io.File; import java.io.FileOutputStream; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/LoggedExec.java b/buildSrc/src/main/java/org/elasticsearch/gradle/LoggedExec.java similarity index 98% rename from buildSrc/src/main/java/org/elasticsearch/gradle/internal/LoggedExec.java rename to buildSrc/src/main/java/org/elasticsearch/gradle/LoggedExec.java index 7c9cfd632eac..5ce64e9eb855 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/LoggedExec.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/LoggedExec.java @@ -5,9 +5,8 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -package org.elasticsearch.gradle.internal; +package org.elasticsearch.gradle; -import org.elasticsearch.gradle.FileSystemOperationsAware; import org.gradle.api.Action; import org.gradle.api.GradleException; import org.gradle.api.Task; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/ReaperPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/ReaperPlugin.java index 7fb5635ee168..7a81284a2654 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/ReaperPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/ReaperPlugin.java @@ -8,8 +8,6 @@ package org.elasticsearch.gradle; -import org.elasticsearch.gradle.internal.info.BuildParams; -import org.elasticsearch.gradle.internal.info.GlobalBuildInfoPlugin; import org.gradle.api.Plugin; import org.gradle.api.Project; import org.gradle.api.file.ProjectLayout; @@ -32,20 +30,24 @@ public class ReaperPlugin implements Plugin { @Override public void apply(Project project) { + registerReaperService(project, projectLayout, false); + } + + public static void registerReaperService(Project project, ProjectLayout projectLayout, boolean internal) { if (project != project.getRootProject()) { throw new IllegalArgumentException("ReaperPlugin can only be applied to the root project of a build"); } - project.getPlugins().apply(GlobalBuildInfoPlugin.class); File inputDir = projectLayout.getProjectDirectory() .dir(".gradle") .dir("reaper") .dir("build-" + ProcessHandle.current().pid()) .getAsFile(); + project.getGradle().getSharedServices().registerIfAbsent(REAPER_SERVICE_NAME, ReaperService.class, spec -> { // Provide some parameters spec.getParameters().getInputDir().set(inputDir); spec.getParameters().getBuildDir().set(projectLayout.getBuildDirectory()); - spec.getParameters().setInternal(BuildParams.isInternal()); + spec.getParameters().setInternal(internal); }); } diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/ReaperService.java b/buildSrc/src/main/java/org/elasticsearch/gradle/ReaperService.java index 609e0920d103..ece27cef7b66 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/ReaperService.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/ReaperService.java @@ -170,7 +170,7 @@ public abstract class ReaperService implements BuildService { public void apply(final Project project) { // make sure the global build info plugin is applied to the root project project.getRootProject().getPluginManager().apply(GlobalBuildInfoPlugin.class); - checkExternalInternalPluginUsages(project); if (project.getPluginManager().hasPlugin("elasticsearch.standalone-rest-test")) { throw new InvalidUserDataException( @@ -44,18 +41,7 @@ public class BuildPlugin implements Plugin { project.getPluginManager().apply(DependenciesInfoPlugin.class); project.getPluginManager().apply(DependenciesGraphPlugin.class); - BuildParams.withInternalBuild(() -> InternalPrecommitTasks.create(project, true)).orElse(() -> PrecommitTasks.create(project)); - - } - - private static void checkExternalInternalPluginUsages(Project project) { - if (BuildParams.isInternal().equals(false)) { - project.getPlugins() - .withType( - InternalPlugin.class, - internalPlugin -> { throw new GradleException(internalPlugin.getExternalUseErrorMessage()); } - ); - } + InternalPrecommitTasks.create(project, true); } public static void configureLicenseAndNotice(final Project project) { diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/BwcSetupExtension.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/BwcSetupExtension.java index dd7a5bb55000..72ed879ea83e 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/BwcSetupExtension.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/BwcSetupExtension.java @@ -10,6 +10,7 @@ package org.elasticsearch.gradle.internal; import org.apache.commons.io.FileUtils; import org.apache.tools.ant.taskdefs.condition.Os; +import org.elasticsearch.gradle.LoggedExec; import org.gradle.api.Action; import org.gradle.api.GradleException; import org.gradle.api.Project; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/BwcVersions.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/BwcVersions.java index 2bb4b1cf7a6e..5b704786c3cc 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/BwcVersions.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/BwcVersions.java @@ -9,6 +9,7 @@ package org.elasticsearch.gradle.internal; import org.elasticsearch.gradle.Architecture; import org.elasticsearch.gradle.Version; +import org.elasticsearch.gradle.VersionProperties; import java.util.ArrayList; import java.util.Collection; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/ElasticsearchJavaPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/ElasticsearchJavaPlugin.java index c68cd39ef1d8..b7b0dc53f238 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/ElasticsearchJavaPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/ElasticsearchJavaPlugin.java @@ -10,6 +10,7 @@ package org.elasticsearch.gradle.internal; import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar; import nebula.plugin.info.InfoBrokerPlugin; +import org.elasticsearch.gradle.VersionProperties; import org.elasticsearch.gradle.internal.info.BuildParams; import org.elasticsearch.gradle.internal.info.GlobalBuildInfoPlugin; import org.elasticsearch.gradle.precommit.PrecommitTaskPlugin; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalBwcGitPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalBwcGitPlugin.java index 300d18d9a666..fd4733c933ae 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalBwcGitPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalBwcGitPlugin.java @@ -8,6 +8,7 @@ package org.elasticsearch.gradle.internal; +import org.elasticsearch.gradle.LoggedExec; import org.elasticsearch.gradle.internal.info.GlobalBuildInfoPlugin; import org.gradle.api.Action; import org.gradle.api.GradleException; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionArchiveCheckPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionArchiveCheckPlugin.java index 271429a66e6b..358fc62cfdd3 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionArchiveCheckPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionArchiveCheckPlugin.java @@ -8,6 +8,7 @@ package org.elasticsearch.gradle.internal; +import org.elasticsearch.gradle.VersionProperties; import org.gradle.api.Action; import org.gradle.api.GradleException; import org.gradle.api.Project; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionDownloadPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionDownloadPlugin.java index a2fe285600d9..a5c69de5c801 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionDownloadPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionDownloadPlugin.java @@ -9,16 +9,24 @@ package org.elasticsearch.gradle.internal; import org.elasticsearch.gradle.Architecture; +import org.elasticsearch.gradle.DistributionDependency; import org.elasticsearch.gradle.DistributionDownloadPlugin; import org.elasticsearch.gradle.DistributionResolution; import org.elasticsearch.gradle.ElasticsearchDistribution; import org.elasticsearch.gradle.Version; +import org.elasticsearch.gradle.VersionProperties; +import org.elasticsearch.gradle.distribution.ElasticsearchDistributionTypes; +import org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes; +import org.elasticsearch.gradle.internal.docker.DockerSupportPlugin; +import org.elasticsearch.gradle.internal.docker.DockerSupportService; import org.elasticsearch.gradle.internal.info.BuildParams; import org.elasticsearch.gradle.internal.info.GlobalBuildInfoPlugin; +import org.elasticsearch.gradle.util.GradleUtils; import org.gradle.api.GradleException; import org.gradle.api.NamedDomainObjectContainer; import org.gradle.api.Project; import org.gradle.api.artifacts.Dependency; +import org.gradle.api.provider.Provider; import java.util.function.Function; @@ -37,11 +45,15 @@ public class InternalDistributionDownloadPlugin implements InternalPlugin { public void apply(Project project) { // this is needed for isInternal project.getRootProject().getPluginManager().apply(GlobalBuildInfoPlugin.class); - // might be used without the general build plugin so we keep this check for now. - if (BuildParams.isInternal() == false) { - throw new GradleException(getExternalUseErrorMessage()); - } - project.getPluginManager().apply(DistributionDownloadPlugin.class); + project.getRootProject().getPluginManager().apply(DockerSupportPlugin.class); + DistributionDownloadPlugin distributionDownloadPlugin = project.getPlugins().apply(DistributionDownloadPlugin.class); + Provider dockerSupport = GradleUtils.getBuildService( + project.getGradle().getSharedServices(), + DockerSupportPlugin.DOCKER_SUPPORT_SERVICE_NAME + ); + distributionDownloadPlugin.setDockerAvailability( + dockerSupport.map(dockerSupportService -> dockerSupportService.getDockerAvailability().isAvailable) + ); this.bwcVersions = BuildParams.getBwcVersions(); registerInternalDistributionResolutions(DistributionDownloadPlugin.getRegistrationsContainer(project)); } @@ -55,7 +67,6 @@ public class InternalDistributionDownloadPlugin implements InternalPlugin { * BWC versions are resolved as project to projects under `:distribution:bwc`. */ private void registerInternalDistributionResolutions(NamedDomainObjectContainer resolutions) { - resolutions.register("localBuild", distributionResolution -> distributionResolution.setResolver((project, distribution) -> { if (VersionProperties.getElasticsearch().equals(distribution.getVersion())) { // non-external project, so depend on local build @@ -97,29 +108,20 @@ public class InternalDistributionDownloadPlugin implements InternalPlugin { : "expanded-" + distributionProjectName; } else { return distributionProjectName; - } } private static String distributionProjectPath(ElasticsearchDistribution distribution) { String projectPath = ":distribution"; - switch (distribution.getType()) { - case INTEG_TEST_ZIP: - projectPath += ":archives:integ-test-zip"; - break; - - case DOCKER: - case DOCKER_UBI: - case DOCKER_IRON_BANK: - projectPath += ":docker:"; - projectPath += distributionProjectName(distribution); - break; - - default: - projectPath += distribution.getType() == ElasticsearchDistribution.Type.ARCHIVE ? ":archives:" : ":packages:"; - projectPath += distributionProjectName(distribution); - break; + if (distribution.getType() == ElasticsearchDistributionTypes.INTEG_TEST_ZIP) { + projectPath += ":archives:integ-test-zip"; + } else if (distribution.getType().isDocker()) { + projectPath += ":docker:"; + projectPath += distributionProjectName(distribution); + } else { + projectPath += distribution.getType() == ElasticsearchDistributionTypes.ARCHIVE ? ":archives:" : ":packages:"; + projectPath += distributionProjectName(distribution); } return projectPath; } @@ -149,24 +151,21 @@ public class InternalDistributionDownloadPlugin implements InternalPlugin { projectName += "no-jdk-"; } - switch (distribution.getType()) { - case ARCHIVE: - return projectName + platform.toString() + archString + (platform == ElasticsearchDistribution.Platform.WINDOWS - ? "-zip" - : "-tar"); - - case DOCKER: - return projectName + "docker" + archString + "-export"; - - case DOCKER_UBI: - return projectName + "ubi-docker" + archString + "-export"; - - case DOCKER_IRON_BANK: - return projectName + "ironbank-docker" + archString + "-export"; - - default: - return projectName + distribution.getType(); + if (distribution.getType() == ElasticsearchDistributionTypes.ARCHIVE) { + return projectName + platform.toString() + archString + (platform == ElasticsearchDistribution.Platform.WINDOWS + ? "-zip" + : "-tar"); } + if (distribution.getType() == InternalElasticsearchDistributionTypes.DOCKER) { + return projectName + "docker" + archString + "-export"; + } + if (distribution.getType() == InternalElasticsearchDistributionTypes.DOCKER_UBI) { + return projectName + "ubi-docker" + archString + "-export"; + } + if (distribution.getType() == InternalElasticsearchDistributionTypes.DOCKER_IRONBANK) { + return projectName + "ironbank-docker" + archString + "-export"; + } + return projectName + distribution.getType().getName(); } private static class ProjectBasedDistributionDependency implements DistributionDependency { diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalPluginBuildPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalPluginBuildPlugin.java new file mode 100644 index 000000000000..e6285626999e --- /dev/null +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalPluginBuildPlugin.java @@ -0,0 +1,105 @@ +/* + * 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.gradle.internal; + +import groovy.lang.Closure; +import org.elasticsearch.gradle.internal.precommit.TestingConventionsTasks; +import org.elasticsearch.gradle.internal.test.RestTestBasePlugin; +import org.elasticsearch.gradle.internal.util.Util; +import org.elasticsearch.gradle.plugin.PluginBuildPlugin; +import org.elasticsearch.gradle.plugin.PluginPropertiesExtension; +import org.elasticsearch.gradle.util.GradleUtils; +import org.gradle.api.Project; +import org.gradle.api.tasks.bundling.Zip; + +import java.util.Optional; + +public class InternalPluginBuildPlugin implements InternalPlugin { + @Override + public void apply(Project project) { + project.getPluginManager().apply(BuildPlugin.class); + project.getPluginManager().apply(PluginBuildPlugin.class); + // Clear default dependencies added by public PluginBuildPlugin as we add our + // own project dependencies for internal builds + // TODO remove once we removed default dependencies from PluginBuildPlugin + project.getConfigurations().getByName("compileOnly").getDependencies().clear(); + project.getConfigurations().getByName("testImplementation").getDependencies().clear(); + + project.getPluginManager().apply(RestTestBasePlugin.class); + var extension = project.getExtensions().getByType(PluginPropertiesExtension.class); + + // We've ported this from multiple build scripts where we see this pattern into + // an extension method as a first step of consolidation. + // We might want to port this into a general pattern later on. + project.getExtensions() + .getExtraProperties() + .set("addQaCheckDependencies", new Closure(InternalPluginBuildPlugin.this, InternalPluginBuildPlugin.this) { + public void doCall(Object it) { + project.afterEvaluate(project1 -> { + // let check depend on check tasks of qa sub-projects + final var checkTaskProvider = project1.getTasks().named("check"); + Optional qaSubproject = project1.getSubprojects() + .stream() + .filter(p -> p.getPath().equals(project1.getPath() + ":qa")) + .findFirst(); + qaSubproject.ifPresent( + qa -> qa.getSubprojects() + .forEach(p -> checkTaskProvider.configure(task -> task.dependsOn(p.getPath() + ":check"))) + ); + }); + } + + public void doCall() { + doCall(null); + } + }); + + project.getTasks().withType(TestingConventionsTasks.class).named("testingConventions").configure(t -> { + t.getNaming().clear(); + t.getNaming() + .create("Tests", testingConventionRule -> testingConventionRule.baseClass("org.apache.lucene.util.LuceneTestCase")); + t.getNaming().create("IT", testingConventionRule -> { + testingConventionRule.baseClass("org.elasticsearch.test.ESIntegTestCase"); + testingConventionRule.baseClass("org.elasticsearch.test.rest.ESRestTestCase"); + testingConventionRule.baseClass("org.elasticsearch.test.ESSingleNodeTestCase"); + }); + }); + + project.afterEvaluate(p -> { + boolean isModule = GradleUtils.isModuleProject(p.getPath()); + boolean isXPackModule = isModule && p.getPath().startsWith(":x-pack"); + if (isModule == false || isXPackModule) { + addNoticeGeneration(p, extension); + } + }); + } + + /** + * Configure the pom for the main jar of this plugin + */ + protected static void addNoticeGeneration(final Project project, PluginPropertiesExtension extension) { + final var licenseFile = extension.getLicenseFile(); + var tasks = project.getTasks(); + if (licenseFile != null) { + tasks.withType(Zip.class).named("bundlePlugin").configure(zip -> zip.from(licenseFile.getParentFile(), copySpec -> { + copySpec.include(licenseFile.getName()); + copySpec.rename(s -> "LICENSE.txt"); + })); + } + + final var noticeFile = extension.getNoticeFile(); + if (noticeFile != null) { + final var generateNotice = tasks.register("generateNotice", NoticeTask.class, noticeTask -> { + noticeTask.setInputFile(noticeFile); + noticeTask.source(Util.getJavaMainSourceSet(project).get().getAllJava()); + }); + tasks.withType(Zip.class).named("bundlePlugin").configure(task -> task.from(generateNotice)); + } + } +} diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalReaperPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalReaperPlugin.java new file mode 100644 index 000000000000..9ed0afff9807 --- /dev/null +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalReaperPlugin.java @@ -0,0 +1,31 @@ +/* + * 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.gradle.internal; + +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.file.ProjectLayout; + +import javax.inject.Inject; + +import static org.elasticsearch.gradle.ReaperPlugin.registerReaperService; + +public class InternalReaperPlugin implements Plugin { + private final ProjectLayout projectLayout; + + @Inject + public InternalReaperPlugin(ProjectLayout projectLayout) { + this.projectLayout = projectLayout; + } + + @Override + public void apply(Project project) { + registerReaperService(project, projectLayout, true); + } +} diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalTestClustersPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalTestClustersPlugin.java new file mode 100644 index 000000000000..1d0eff0b3aa7 --- /dev/null +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalTestClustersPlugin.java @@ -0,0 +1,36 @@ +/* + * 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.gradle.internal; + +import org.elasticsearch.gradle.internal.info.BuildParams; +import org.elasticsearch.gradle.testclusters.TestClustersPlugin; +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.provider.ProviderFactory; + +import javax.inject.Inject; + +public class InternalTestClustersPlugin implements Plugin { + + private ProviderFactory providerFactory; + + @Inject + public InternalTestClustersPlugin(ProviderFactory providerFactory) { + this.providerFactory = providerFactory; + } + + @Override + public void apply(Project project) { + project.getPlugins().apply(InternalDistributionDownloadPlugin.class); + project.getRootProject().getPluginManager().apply(InternalReaperPlugin.class); + TestClustersPlugin testClustersPlugin = project.getPlugins().apply(TestClustersPlugin.class); + testClustersPlugin.setRuntimeJava(providerFactory.provider(() -> BuildParams.getRuntimeJavaHome())); + } + +} diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/NoticeTask.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/NoticeTask.java similarity index 99% rename from buildSrc/src/main/java/org/elasticsearch/gradle/NoticeTask.java rename to buildSrc/src/main/java/org/elasticsearch/gradle/internal/NoticeTask.java index 9308321335e5..b51f0603833a 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/NoticeTask.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/NoticeTask.java @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -package org.elasticsearch.gradle; +package org.elasticsearch.gradle.internal; import org.codehaus.groovy.runtime.StringGroovyMethods; import org.gradle.api.DefaultTask; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/RepositoriesSetupPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/RepositoriesSetupPlugin.java index 856b300754c9..21332013a6ce 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/RepositoriesSetupPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/RepositoriesSetupPlugin.java @@ -8,6 +8,7 @@ package org.elasticsearch.gradle.internal; +import org.elasticsearch.gradle.VersionProperties; import org.gradle.api.GradleException; import org.gradle.api.Plugin; import org.gradle.api.Project; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DebElasticsearchDistributionType.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DebElasticsearchDistributionType.java new file mode 100644 index 000000000000..7febdca5a806 --- /dev/null +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DebElasticsearchDistributionType.java @@ -0,0 +1,29 @@ +/* + * 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.gradle.internal.distribution; + +import org.elasticsearch.gradle.ElasticsearchDistribution; +import org.elasticsearch.gradle.ElasticsearchDistributionType; +import org.elasticsearch.gradle.Version; + +public class DebElasticsearchDistributionType implements ElasticsearchDistributionType { + + DebElasticsearchDistributionType() {} + + @Override + public String getName() { + return "deb"; + } + + @Override + public String getClassifier(ElasticsearchDistribution.Platform platform, Version version) { + return ":amd64"; + } + +} diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DockerElasticsearchDistributionType.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DockerElasticsearchDistributionType.java new file mode 100644 index 000000000000..439ec23481f7 --- /dev/null +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DockerElasticsearchDistributionType.java @@ -0,0 +1,26 @@ +/* + * 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.gradle.internal.distribution; + +import org.elasticsearch.gradle.ElasticsearchDistributionType; + +public class DockerElasticsearchDistributionType implements ElasticsearchDistributionType { + + DockerElasticsearchDistributionType() {} + + @Override + public String getName() { + return "docker"; + } + + @Override + public boolean isDocker() { + return true; + } +} diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DockerIronBankElasticsearchDistributionType.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DockerIronBankElasticsearchDistributionType.java new file mode 100644 index 000000000000..e261cf3b5925 --- /dev/null +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DockerIronBankElasticsearchDistributionType.java @@ -0,0 +1,26 @@ +/* + * 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.gradle.internal.distribution; + +import org.elasticsearch.gradle.ElasticsearchDistributionType; + +public class DockerIronBankElasticsearchDistributionType implements ElasticsearchDistributionType { + + DockerIronBankElasticsearchDistributionType() {} + + @Override + public String getName() { + return "dockerIronBank"; + } + + @Override + public boolean isDocker() { + return true; + } +} diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DockerUbiElasticsearchDistributionType.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DockerUbiElasticsearchDistributionType.java new file mode 100644 index 000000000000..65f4e3e9e485 --- /dev/null +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/DockerUbiElasticsearchDistributionType.java @@ -0,0 +1,26 @@ +/* + * 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.gradle.internal.distribution; + +import org.elasticsearch.gradle.ElasticsearchDistributionType; + +public class DockerUbiElasticsearchDistributionType implements ElasticsearchDistributionType { + + DockerUbiElasticsearchDistributionType() {} + + @Override + public String getName() { + return "dockerUbi"; + } + + @Override + public boolean isDocker() { + return true; + } +} diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/InternalElasticsearchDistributionTypes.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/InternalElasticsearchDistributionTypes.java new file mode 100644 index 000000000000..5977091d1ab2 --- /dev/null +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/InternalElasticsearchDistributionTypes.java @@ -0,0 +1,23 @@ +/* + * 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.gradle.internal.distribution; + +import org.elasticsearch.gradle.ElasticsearchDistributionType; + +import java.util.List; + +public class InternalElasticsearchDistributionTypes { + public static ElasticsearchDistributionType DEB = new DebElasticsearchDistributionType(); + public static ElasticsearchDistributionType RPM = new RpmElasticsearchDistributionType(); + public static ElasticsearchDistributionType DOCKER = new DockerElasticsearchDistributionType(); + public static ElasticsearchDistributionType DOCKER_UBI = new DockerUbiElasticsearchDistributionType(); + public static ElasticsearchDistributionType DOCKER_IRONBANK = new DockerIronBankElasticsearchDistributionType(); + + public static List ALL_INTERNAL = List.of(DEB, RPM, DOCKER, DOCKER_UBI, DOCKER_IRONBANK); +} diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/RpmElasticsearchDistributionType.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/RpmElasticsearchDistributionType.java new file mode 100644 index 000000000000..a23cac67a703 --- /dev/null +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/distribution/RpmElasticsearchDistributionType.java @@ -0,0 +1,31 @@ +/* + * 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.gradle.internal.distribution; + +import org.elasticsearch.gradle.ElasticsearchDistributionType; + +public class RpmElasticsearchDistributionType implements ElasticsearchDistributionType { + + RpmElasticsearchDistributionType() {} + + @Override + public String getName() { + return "rpm"; + } + + @Override + public boolean shouldExtract() { + return false; + } + + @Override + public boolean isDocker() { + return false; + } +} diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/docker/DockerBuildTask.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/docker/DockerBuildTask.java index 2147d35498ce..e06253a3d959 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/docker/DockerBuildTask.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/docker/DockerBuildTask.java @@ -7,7 +7,7 @@ */ package org.elasticsearch.gradle.internal.docker; -import org.elasticsearch.gradle.internal.LoggedExec; +import org.elasticsearch.gradle.LoggedExec; import org.gradle.api.DefaultTask; import org.gradle.api.GradleException; import org.gradle.api.file.DirectoryProperty; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/CheckstylePrecommitPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/CheckstylePrecommitPlugin.java index b888863e33fa..b03a0d2c5053 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/CheckstylePrecommitPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/CheckstylePrecommitPlugin.java @@ -8,7 +8,7 @@ package org.elasticsearch.gradle.internal.precommit; -import org.elasticsearch.gradle.internal.VersionProperties; +import org.elasticsearch.gradle.VersionProperties; import org.elasticsearch.gradle.internal.InternalPlugin; import org.elasticsearch.gradle.precommit.PrecommitPlugin; import org.elasticsearch.gradle.internal.util.Util; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/InternalPrecommitTasks.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/InternalPrecommitTasks.java index 917723267e5e..d74c03fc161c 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/InternalPrecommitTasks.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/InternalPrecommitTasks.java @@ -8,6 +8,7 @@ package org.elasticsearch.gradle.internal.precommit; +import org.elasticsearch.gradle.internal.info.BuildParams; import org.elasticsearch.gradle.precommit.PrecommitTasks; import org.gradle.api.Project; @@ -21,7 +22,12 @@ public class InternalPrecommitTasks { */ public static void create(Project project, boolean includeDependencyLicenses) { PrecommitTasks.create(project); - + if (BuildParams.isInternal() && project.getPath().equals(":libs:elasticsearch-core") == false) { + // ideally we would configure this as a default dependency. But Default dependencies do not work correctly + // with gradle project dependencies as they're resolved to late in the build and don't setup according task + // dependencies properly + project.getDependencies().add("jarHell", project.project(":libs:elasticsearch-core")); + } project.getPluginManager().apply(ThirdPartyAuditPrecommitPlugin.class); project.getPluginManager().apply(CheckstylePrecommitPlugin.class); project.getPluginManager().apply(ForbiddenApisPrecommitPlugin.class); diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/LoggerUsagePrecommitPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/LoggerUsagePrecommitPlugin.java index e359c5f57b77..1f1e458f97cd 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/LoggerUsagePrecommitPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/LoggerUsagePrecommitPlugin.java @@ -19,7 +19,11 @@ public class LoggerUsagePrecommitPlugin extends PrecommitPlugin implements Inter @Override public TaskProvider createTask(Project project) { Configuration loggerUsageConfig = project.getConfigurations().create("loggerUsagePlugin"); - project.getDependencies().add("loggerUsagePlugin", project.project(":test:logger-usage")); + // this makes it easier to test by not requiring this project to be always available in our + // test sample projects + if (project.findProject(":test:logger-usage") != null) { + project.getDependencies().add("loggerUsagePlugin", project.project(":test:logger-usage")); + } TaskProvider loggerUsage = project.getTasks().register("loggerUsageCheck", LoggerUsageTask.class); loggerUsage.configure(t -> t.setClasspath(loggerUsageConfig)); return loggerUsage; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/LoggerUsageTask.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/LoggerUsageTask.java index 1e44df539e2b..89020f87e297 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/LoggerUsageTask.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/precommit/LoggerUsageTask.java @@ -8,7 +8,7 @@ package org.elasticsearch.gradle.internal.precommit; -import org.elasticsearch.gradle.internal.LoggedExec; +import org.elasticsearch.gradle.LoggedExec; import org.elasticsearch.gradle.precommit.PrecommitTask; import org.gradle.api.file.FileCollection; import org.gradle.api.plugins.JavaPluginConvention; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/rest/compat/RestCompatTestTransformTask.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/rest/compat/RestCompatTestTransformTask.java index 6034af039b5b..9c244d99b200 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/rest/compat/RestCompatTestTransformTask.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/rest/compat/RestCompatTestTransformTask.java @@ -18,7 +18,7 @@ import com.fasterxml.jackson.databind.node.TextNode; import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; import com.fasterxml.jackson.dataformat.yaml.YAMLParser; import org.elasticsearch.gradle.Version; -import org.elasticsearch.gradle.internal.VersionProperties; +import org.elasticsearch.gradle.VersionProperties; import org.elasticsearch.gradle.internal.test.rest.transform.RestTestTransform; import org.elasticsearch.gradle.internal.test.rest.transform.RestTestTransformer; import org.elasticsearch.gradle.internal.test.rest.transform.headers.InjectHeaders; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/rest/compat/YamlRestCompatTestPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/rest/compat/YamlRestCompatTestPlugin.java index 8c18536674c4..90e7f461117d 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/rest/compat/YamlRestCompatTestPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/rest/compat/YamlRestCompatTestPlugin.java @@ -10,7 +10,7 @@ package org.elasticsearch.gradle.internal.rest.compat; import org.elasticsearch.gradle.internal.ElasticsearchJavaPlugin; import org.elasticsearch.gradle.Version; -import org.elasticsearch.gradle.internal.VersionProperties; +import org.elasticsearch.gradle.VersionProperties; import org.elasticsearch.gradle.internal.test.RestIntegTestTask; import org.elasticsearch.gradle.internal.test.RestTestBasePlugin; import org.elasticsearch.gradle.internal.test.rest.CopyRestApiTask; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/DistroTestPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/DistroTestPlugin.java index 70595b408d3f..4a2a684135c4 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/DistroTestPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/DistroTestPlugin.java @@ -12,11 +12,11 @@ import org.elasticsearch.gradle.Architecture; import org.elasticsearch.gradle.DistributionDownloadPlugin; import org.elasticsearch.gradle.ElasticsearchDistribution; import org.elasticsearch.gradle.ElasticsearchDistribution.Platform; -import org.elasticsearch.gradle.ElasticsearchDistribution.Type; +import org.elasticsearch.gradle.ElasticsearchDistributionType; import org.elasticsearch.gradle.internal.Jdk; import org.elasticsearch.gradle.internal.JdkDownloadPlugin; import org.elasticsearch.gradle.Version; -import org.elasticsearch.gradle.internal.VersionProperties; +import org.elasticsearch.gradle.VersionProperties; import org.elasticsearch.gradle.internal.docker.DockerSupportPlugin; import org.elasticsearch.gradle.internal.docker.DockerSupportService; import org.elasticsearch.gradle.internal.info.BuildParams; @@ -49,6 +49,13 @@ import java.util.Map; import java.util.function.Supplier; import java.util.stream.Stream; +import static org.elasticsearch.gradle.distribution.ElasticsearchDistributionTypes.ARCHIVE; +import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.ALL_INTERNAL; +import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.DEB; +import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.DOCKER; +import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.DOCKER_IRONBANK; +import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.DOCKER_UBI; +import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.RPM; import static org.elasticsearch.gradle.internal.vagrant.VagrantMachine.convertLinuxPath; import static org.elasticsearch.gradle.internal.vagrant.VagrantMachine.convertWindowsPath; @@ -88,7 +95,7 @@ public class DistroTestPlugin implements Plugin { NamedDomainObjectContainer allDistributions = DistributionDownloadPlugin.getContainer(project); List testDistributions = configureDistributions(project); - Map> lifecycleTasks = lifecycleTasks(project, "destructiveDistroTest"); + Map> lifecycleTasks = lifecycleTasks(project, "destructiveDistroTest"); Map> versionTasks = versionTasks(project, "destructiveDistroUpgradeTest"); TaskProvider destructiveDistroTest = project.getTasks().register("destructiveDistroTest"); @@ -96,7 +103,7 @@ public class DistroTestPlugin implements Plugin { Configuration quotaAwareFsPlugin = configureQuotaAwareFsPlugin(project); List> windowsTestTasks = new ArrayList<>(); - Map>> linuxTestTasks = new HashMap<>(); + Map>> linuxTestTasks = new HashMap<>(); Map>> upgradeTestTasks = new HashMap<>(); Map> depsTasks = new HashMap<>(); @@ -122,7 +129,7 @@ public class DistroTestPlugin implements Plugin { destructiveDistroTest.configure(t -> t.dependsOn(destructiveTask)); lifecycleTasks.get(distribution.getType()).configure(t -> t.dependsOn(destructiveTask)); - if ((distribution.getType() == Type.DEB || distribution.getType() == Type.RPM) && distribution.getBundledJdk()) { + if ((distribution.getType() == DEB || distribution.getType() == RPM) && distribution.getBundledJdk()) { for (Version version : BuildParams.getBwcVersions().getIndexCompatible()) { final ElasticsearchDistribution bwcDistro; if (version.equals(Version.fromString(distribution.getVersion()))) { @@ -171,7 +178,7 @@ public class DistroTestPlugin implements Plugin { project.getConfigurations().getByName("testRuntimeClasspath") ); - Map> vmLifecyleTasks = lifecycleTasks(vmProject, "distroTest"); + Map> vmLifecyleTasks = lifecycleTasks(vmProject, "distroTest"); Map> vmVersionTasks = versionTasks(vmProject, "distroUpgradeTest"); TaskProvider distroTest = vmProject.getTasks().register("distroTest"); @@ -181,12 +188,12 @@ public class DistroTestPlugin implements Plugin { vmProject, windowsTestTasks, depsTasks, - wrapperTask -> { vmLifecyleTasks.get(Type.ARCHIVE).configure(t -> t.dependsOn(wrapperTask)); }, + wrapperTask -> { vmLifecyleTasks.get(ARCHIVE).configure(t -> t.dependsOn(wrapperTask)); }, vmDependencies ); } else { for (var entry : linuxTestTasks.entrySet()) { - Type type = entry.getKey(); + ElasticsearchDistributionType type = entry.getKey(); TaskProvider vmLifecycleTask = vmLifecyleTasks.get(type); configureVMWrapperTasks(vmProject, entry.getValue(), depsTasks, wrapperTask -> { vmLifecycleTask.configure(t -> t.dependsOn(wrapperTask)); @@ -222,14 +229,14 @@ public class DistroTestPlugin implements Plugin { }); } - private static Map> lifecycleTasks(Project project, String taskPrefix) { - Map> lifecyleTasks = new HashMap<>(); - lifecyleTasks.put(Type.DOCKER, project.getTasks().register(taskPrefix + ".docker")); - lifecyleTasks.put(Type.DOCKER_UBI, project.getTasks().register(taskPrefix + ".docker-ubi")); - lifecyleTasks.put(Type.DOCKER_IRON_BANK, project.getTasks().register(taskPrefix + ".docker-ironbank")); - lifecyleTasks.put(Type.ARCHIVE, project.getTasks().register(taskPrefix + ".archives")); - lifecyleTasks.put(Type.DEB, project.getTasks().register(taskPrefix + ".packages")); - lifecyleTasks.put(Type.RPM, lifecyleTasks.get(Type.DEB)); + private static Map> lifecycleTasks(Project project, String taskPrefix) { + Map> lifecyleTasks = new HashMap<>(); + lifecyleTasks.put(DOCKER, project.getTasks().register(taskPrefix + ".docker")); + lifecyleTasks.put(DOCKER_UBI, project.getTasks().register(taskPrefix + ".docker-ubi")); + lifecyleTasks.put(DOCKER_IRONBANK, project.getTasks().register(taskPrefix + ".docker-ironbank")); + lifecyleTasks.put(ARCHIVE, project.getTasks().register(taskPrefix + ".archives")); + lifecyleTasks.put(DEB, project.getTasks().register(taskPrefix + ".packages")); + lifecyleTasks.put(RPM, lifecyleTasks.get(DEB)); return lifecyleTasks; } @@ -364,7 +371,7 @@ public class DistroTestPlugin implements Plugin { List currentDistros = new ArrayList<>(); for (Architecture architecture : Architecture.values()) { - Arrays.stream(Type.values()).filter(t -> t != Type.INTEG_TEST_ZIP && t != Type.ARCHIVE).forEach(type -> { + ALL_INTERNAL.stream().forEach(type -> { for (boolean bundledJdk : Arrays.asList(true, false)) { if (bundledJdk == false) { // We'll never publish an ARM (aarch64) build without a bundled JDK. @@ -393,7 +400,7 @@ public class DistroTestPlugin implements Plugin { } currentDistros.add( - createDistro(distributions, architecture, Type.ARCHIVE, platform, bundledJdk, VersionProperties.getElasticsearch()) + createDistro(distributions, architecture, ARCHIVE, platform, bundledJdk, VersionProperties.getElasticsearch()) ); } } @@ -405,7 +412,7 @@ public class DistroTestPlugin implements Plugin { private static ElasticsearchDistribution createDistro( NamedDomainObjectContainer distributions, Architecture architecture, - Type type, + ElasticsearchDistributionType type, Platform platform, boolean bundledJdk, String version @@ -415,7 +422,7 @@ public class DistroTestPlugin implements Plugin { ElasticsearchDistribution distro = distributions.create(name, d -> { d.setArchitecture(architecture); d.setType(type); - if (type == Type.ARCHIVE) { + if (type == ARCHIVE) { d.setPlatform(platform); } if (isDocker == false) { @@ -438,21 +445,21 @@ public class DistroTestPlugin implements Plugin { return project.getName().contains("windows"); } - private static String distroId(Type type, Platform platform, boolean bundledJdk, Architecture architecture) { + private static String distroId(ElasticsearchDistributionType type, Platform platform, boolean bundledJdk, Architecture architecture) { return "default-" - + (type == Type.ARCHIVE ? platform + "-" : "") - + type + + (type == ARCHIVE ? platform + "-" : "") + + type.getName() + (bundledJdk ? "" : "-no-jdk") + (architecture == Architecture.X64 ? "" : "-" + architecture.toString().toLowerCase()); } private static String destructiveDistroTestTaskName(ElasticsearchDistribution distro) { - Type type = distro.getType(); + ElasticsearchDistributionType type = distro.getType(); return "destructiveDistroTest." + distroId(type, distro.getPlatform(), distro.getBundledJdk(), distro.getArchitecture()); } private static String destructiveDistroUpgradeTestTaskName(ElasticsearchDistribution distro, String bwcVersion) { - Type type = distro.getType(); + ElasticsearchDistributionType type = distro.getType(); return "destructiveDistroUpgradeTest.v" + bwcVersion + "." diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/RestTestPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/RestTestPlugin.java index e29f370aff84..b396879371d2 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/RestTestPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/RestTestPlugin.java @@ -9,12 +9,10 @@ package org.elasticsearch.gradle.internal.test; import org.elasticsearch.gradle.internal.BuildPlugin; -import org.elasticsearch.gradle.testclusters.TestClustersPlugin; -import org.gradle.api.Action; +import org.elasticsearch.gradle.internal.InternalTestClustersPlugin; import org.gradle.api.InvalidUserDataException; import org.gradle.api.Plugin; import org.gradle.api.Project; -import org.gradle.api.Task; import org.gradle.api.plugins.JavaBasePlugin; import java.util.Arrays; @@ -37,17 +35,12 @@ public class RestTestPlugin implements Plugin { ); } project.getPlugins().apply(RestTestBasePlugin.class); - project.getPluginManager().apply(TestClustersPlugin.class); + project.getPluginManager().apply(InternalTestClustersPlugin.class); final var integTest = project.getTasks().register("integTest", RestIntegTestTask.class, task -> { task.setDescription("Runs rest tests against an elasticsearch cluster."); task.setGroup(JavaBasePlugin.VERIFICATION_GROUP); task.mustRunAfter(project.getTasks().named("precommit")); }); - project.getTasks().named("check").configure(new Action() { - @Override - public void execute(Task task) { - task.dependsOn(integTest); - } - }); + project.getTasks().named("check").configure(task -> task.dependsOn(integTest)); } } diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/CopyRestApiTask.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/CopyRestApiTask.java index 919ee0503043..80096039258d 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/CopyRestApiTask.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/CopyRestApiTask.java @@ -7,7 +7,7 @@ */ package org.elasticsearch.gradle.internal.test.rest; -import org.elasticsearch.gradle.internal.VersionProperties; +import org.elasticsearch.gradle.VersionProperties; import org.elasticsearch.gradle.internal.info.BuildParams; import org.gradle.api.DefaultTask; import org.gradle.api.file.ArchiveOperations; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/CopyRestTestsTask.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/CopyRestTestsTask.java index 7c222baa79fd..a45ef6e0168a 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/CopyRestTestsTask.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/CopyRestTestsTask.java @@ -7,7 +7,7 @@ */ package org.elasticsearch.gradle.internal.test.rest; -import org.elasticsearch.gradle.internal.VersionProperties; +import org.elasticsearch.gradle.VersionProperties; import org.elasticsearch.gradle.internal.info.BuildParams; import org.gradle.api.DefaultTask; import org.gradle.api.file.ArchiveOperations; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/JavaRestTestPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/JavaRestTestPlugin.java index 4f4ae201cb16..1886bb0e6f16 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/JavaRestTestPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/JavaRestTestPlugin.java @@ -9,9 +9,9 @@ package org.elasticsearch.gradle.internal.test.rest; import org.elasticsearch.gradle.internal.ElasticsearchJavaPlugin; +import org.elasticsearch.gradle.internal.InternalTestClustersPlugin; import org.elasticsearch.gradle.internal.test.RestIntegTestTask; import org.elasticsearch.gradle.internal.test.RestTestBasePlugin; -import org.elasticsearch.gradle.testclusters.TestClustersPlugin; import org.elasticsearch.gradle.util.GradleUtils; import org.gradle.api.Plugin; import org.gradle.api.Project; @@ -33,10 +33,9 @@ public class JavaRestTestPlugin implements Plugin { @Override public void apply(Project project) { - project.getPluginManager().apply(ElasticsearchJavaPlugin.class); project.getPluginManager().apply(RestTestBasePlugin.class); - project.getPluginManager().apply(TestClustersPlugin.class); + project.getPluginManager().apply(InternalTestClustersPlugin.class); // create source set SourceSetContainer sourceSets = project.getExtensions().getByType(SourceSetContainer.class); diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/RestResourcesPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/RestResourcesPlugin.java index 5971c937e95d..f0d70e27e2ba 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/RestResourcesPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/RestResourcesPlugin.java @@ -7,7 +7,7 @@ */ package org.elasticsearch.gradle.internal.test.rest; -import org.elasticsearch.gradle.internal.VersionProperties; +import org.elasticsearch.gradle.VersionProperties; import org.elasticsearch.gradle.internal.info.BuildParams; import org.gradle.api.Plugin; import org.gradle.api.Project; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/RestTestUtil.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/RestTestUtil.java index db2eef9f398b..28016a0f3edc 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/RestTestUtil.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/test/rest/RestTestUtil.java @@ -8,7 +8,7 @@ package org.elasticsearch.gradle.internal.test.rest; -import org.elasticsearch.gradle.internal.VersionProperties; +import org.elasticsearch.gradle.VersionProperties; import org.elasticsearch.gradle.internal.info.BuildParams; import org.elasticsearch.gradle.internal.test.RestIntegTestTask; import org.elasticsearch.gradle.testclusters.ElasticsearchCluster; @@ -51,7 +51,7 @@ public class RestTestUtil { testTask.setTestClassesDirs(sourceSet.getOutput().getClassesDirs()); testTask.setClasspath(sourceSet.getRuntimeClasspath()); // if this a module or plugin, it may have an associated zip file with it's contents, add that to the test cluster - project.getPluginManager().withPlugin("elasticsearch.esplugin", plugin -> { + project.getPluginManager().withPlugin("elasticsearch.internal-es-plugin", plugin -> { TaskProvider bundle = project.getTasks().withType(Zip.class).named("bundlePlugin"); testTask.dependsOn(bundle); if (GradleUtils.isModuleProject(project.getPath())) { diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantBasePlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantBasePlugin.java index 580dba3de27d..10fe51bbef72 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantBasePlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantBasePlugin.java @@ -9,6 +9,7 @@ package org.elasticsearch.gradle.internal.vagrant; import org.elasticsearch.gradle.ReaperPlugin; +import org.elasticsearch.gradle.internal.InternalReaperPlugin; import org.elasticsearch.gradle.util.GradleUtils; import org.gradle.api.Plugin; import org.gradle.api.Project; @@ -33,7 +34,7 @@ public class VagrantBasePlugin implements Plugin { public void apply(Project project) { project.getRootProject().getPluginManager().apply(VagrantSetupCheckerPlugin.class); project.getRootProject().getPluginManager().apply(VagrantManagerPlugin.class); - project.getRootProject().getPluginManager().apply(ReaperPlugin.class); + project.getRootProject().getPluginManager().apply(InternalReaperPlugin.class); var reaperServiceProvider = GradleUtils.getBuildService(project.getGradle().getSharedServices(), ReaperPlugin.REAPER_SERVICE_NAME); var extension = project.getExtensions().create("vagrant", VagrantExtension.class, project); diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantMachine.java b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantMachine.java index a3a11c438d2b..757db5719f23 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantMachine.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/internal/vagrant/VagrantMachine.java @@ -9,7 +9,7 @@ package org.elasticsearch.gradle.internal.vagrant; import org.apache.commons.io.output.TeeOutputStream; -import org.elasticsearch.gradle.internal.LoggedExec; +import org.elasticsearch.gradle.LoggedExec; import org.elasticsearch.gradle.internal.LoggingOutputStream; import org.elasticsearch.gradle.ReaperService; import org.elasticsearch.gradle.internal.util.Util; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/plugin/PluginBuildPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/plugin/PluginBuildPlugin.java index fe9f25d2b785..d3b6a76345ab 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/plugin/PluginBuildPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/plugin/PluginBuildPlugin.java @@ -12,19 +12,14 @@ import com.github.jengelman.gradle.plugins.shadow.ShadowPlugin; import groovy.lang.Closure; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; -import org.elasticsearch.gradle.internal.BuildPlugin; -import org.elasticsearch.gradle.NoticeTask; import org.elasticsearch.gradle.Version; -import org.elasticsearch.gradle.internal.VersionProperties; +import org.elasticsearch.gradle.VersionProperties; import org.elasticsearch.gradle.dependencies.CompileOnlyResolvePlugin; -import org.elasticsearch.gradle.internal.info.BuildParams; -import org.elasticsearch.gradle.internal.precommit.TestingConventionsTasks; -import org.elasticsearch.gradle.internal.test.RestTestBasePlugin; +import org.elasticsearch.gradle.precommit.PrecommitTasks; import org.elasticsearch.gradle.testclusters.ElasticsearchCluster; import org.elasticsearch.gradle.testclusters.RunTask; import org.elasticsearch.gradle.testclusters.TestClustersPlugin; import org.elasticsearch.gradle.util.GradleUtils; -import org.elasticsearch.gradle.internal.util.Util; import org.gradle.api.Action; import org.gradle.api.GradleException; import org.gradle.api.InvalidUserDataException; @@ -35,6 +30,7 @@ import org.gradle.api.Task; import org.gradle.api.Transformer; import org.gradle.api.file.RegularFile; import org.gradle.api.plugins.BasePlugin; +import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.plugins.JavaPluginExtension; import org.gradle.api.provider.Provider; import org.gradle.api.publish.PublishingExtension; @@ -51,7 +47,6 @@ import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.LinkedHashMap; import java.util.Map; -import java.util.Optional; import java.util.stream.Collectors; /** @@ -60,15 +55,15 @@ import java.util.stream.Collectors; public class PluginBuildPlugin implements Plugin { @Override public void apply(final Project project) { - project.getPluginManager().apply(BuildPlugin.class); - project.getPluginManager().apply(RestTestBasePlugin.class); + PrecommitTasks.create(project); + project.getPluginManager().apply(JavaPlugin.class); + project.getPluginManager().apply(TestClustersPlugin.class); project.getPluginManager().apply(CompileOnlyResolvePlugin.class); var extension = project.getExtensions().create(PLUGIN_EXTENSION_NAME, PluginPropertiesExtension.class, project); configureDependencies(project); final var bundleTask = createBundleTasks(project, extension); - project.afterEvaluate(project1 -> { project1.getExtensions().getByType(PluginPropertiesExtension.class).getExtendedPlugins().forEach(pluginName -> { // Auto add dependent modules to the test cluster @@ -112,54 +107,7 @@ public class PluginBuildPlugin implements Plugin { copy.expand(map); copy.getInputs().properties(map); }); - BuildParams.withInternalBuild(() -> { - boolean isModule = GradleUtils.isModuleProject(project1.getPath()); - boolean isXPackModule = isModule && project1.getPath().startsWith(":x-pack"); - if (isModule == false || isXPackModule) { - addNoticeGeneration(project1, extension1); - } - }); }); - - BuildParams.withInternalBuild(() -> { - // We've ported this from multiple build scripts where we see this pattern into - // an extension method as a first step of consolidation. - // We might want to port this into a general pattern later on. - project.getExtensions() - .getExtraProperties() - .set("addQaCheckDependencies", new Closure(PluginBuildPlugin.this, PluginBuildPlugin.this) { - public void doCall(Object it) { - project.afterEvaluate(project1 -> { - // let check depend on check tasks of qa sub-projects - final var checkTaskProvider = project1.getTasks().named("check"); - Optional qaSubproject = project1.getSubprojects() - .stream() - .filter(p -> p.getPath().equals(project1.getPath() + ":qa")) - .findFirst(); - qaSubproject.ifPresent( - qa -> qa.getSubprojects() - .forEach(p -> checkTaskProvider.configure(task -> task.dependsOn(p.getPath() + ":check"))) - ); - }); - } - - public void doCall() { - doCall(null); - } - }); - - project.getTasks().withType(TestingConventionsTasks.class).named("testingConventions").configure(t -> { - t.getNaming().clear(); - t.getNaming() - .create("Tests", testingConventionRule -> testingConventionRule.baseClass("org.apache.lucene.util.LuceneTestCase")); - t.getNaming().create("IT", testingConventionRule -> { - testingConventionRule.baseClass("org.elasticsearch.test.ESIntegTestCase"); - testingConventionRule.baseClass("org.elasticsearch.test.rest.ESRestTestCase"); - testingConventionRule.baseClass("org.elasticsearch.test.ESSingleNodeTestCase"); - }); - }); - }); - project.getConfigurations().getByName("default").extendsFrom(project.getConfigurations().getByName("runtimeClasspath")); // allow running ES with this plugin in the foreground of a build @@ -193,13 +141,8 @@ public class PluginBuildPlugin implements Plugin { private static void configureDependencies(final Project project) { var dependencies = project.getDependencies(); - if (BuildParams.isInternal()) { - dependencies.add("compileOnly", dependencies.project(Map.of("path", ":server"))); - dependencies.add("testImplementation", dependencies.project(Map.of("path", ":test:framework"))); - } else { - dependencies.add("compileOnly", "org.elasticsearch:elasticsearch:" + VersionProperties.getElasticsearch()); - dependencies.add("testImplementation", "org.elasticsearch.test:framework:" + VersionProperties.getElasticsearch()); - } + dependencies.add("compileOnly", "org.elasticsearch:elasticsearch:" + VersionProperties.getElasticsearch()); + dependencies.add("testImplementation", "org.elasticsearch.test:framework:" + VersionProperties.getElasticsearch()); // we "upgrade" these optional deps to provided for plugins, since they will run // with a full elasticsearch server that includes optional deps @@ -296,28 +239,5 @@ public class PluginBuildPlugin implements Plugin { return bundle; } - /** - * Configure the pom for the main jar of this plugin - */ - protected static void addNoticeGeneration(final Project project, PluginPropertiesExtension extension) { - final var licenseFile = extension.getLicenseFile(); - var tasks = project.getTasks(); - if (licenseFile != null) { - tasks.withType(Zip.class).named("bundlePlugin").configure(zip -> zip.from(licenseFile.getParentFile(), copySpec -> { - copySpec.include(licenseFile.getName()); - copySpec.rename(s -> "LICENSE.txt"); - })); - } - - final var noticeFile = extension.getNoticeFile(); - if (noticeFile != null) { - final var generateNotice = tasks.register("generateNotice", NoticeTask.class, noticeTask -> { - noticeTask.setInputFile(noticeFile); - noticeTask.source(Util.getJavaMainSourceSet(project).get().getAllJava()); - }); - tasks.withType(Zip.class).named("bundlePlugin").configure(task -> task.from(generateNotice)); - } - } - public static final String PLUGIN_EXTENSION_NAME = "esplugin"; } diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/precommit/JarHellPrecommitPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/precommit/JarHellPrecommitPlugin.java index f7993771d811..1236c8b1c5f1 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/precommit/JarHellPrecommitPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/precommit/JarHellPrecommitPlugin.java @@ -8,7 +8,6 @@ package org.elasticsearch.gradle.precommit; -import org.elasticsearch.gradle.internal.info.BuildParams; import org.elasticsearch.gradle.internal.util.Util; import org.gradle.api.Project; import org.gradle.api.Task; @@ -20,12 +19,6 @@ public class JarHellPrecommitPlugin extends PrecommitPlugin { @Override public TaskProvider createTask(Project project) { Configuration jarHellConfig = project.getConfigurations().create("jarHell"); - if (BuildParams.isInternal() && project.getPath().equals(":libs:elasticsearch-core") == false) { - // ideally we would configure this as a default dependency. But Default dependencies do not work correctly - // with gradle project dependencies as they're resolved to late in the build and don't setup according task - // dependencies properly - project.getDependencies().add("jarHell", project.project(":libs:elasticsearch-core")); - } TaskProvider jarHell = project.getTasks().register("jarHell", JarHellTask.class); jarHell.configure(t -> { SourceSet testSourceSet = Util.getJavaTestSourceSet(project).get(); diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/precommit/JarHellTask.java b/buildSrc/src/main/java/org/elasticsearch/gradle/precommit/JarHellTask.java index 8c2140c2362a..c68bda1822f4 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/precommit/JarHellTask.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/precommit/JarHellTask.java @@ -8,7 +8,7 @@ package org.elasticsearch.gradle.precommit; -import org.elasticsearch.gradle.internal.LoggedExec; +import org.elasticsearch.gradle.LoggedExec; import org.gradle.api.file.FileCollection; import org.gradle.api.tasks.CacheableTask; import org.gradle.api.tasks.Classpath; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/ElasticsearchCluster.java b/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/ElasticsearchCluster.java index 8289541c50cd..5a82a11bb7aa 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/ElasticsearchCluster.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/ElasticsearchCluster.java @@ -57,6 +57,7 @@ public class ElasticsearchCluster implements TestClusterConfiguration, Named { private final FileSystemOperations fileSystemOperations; private final ArchiveOperations archiveOperations; private final ExecOperations execOperations; + private final Provider runtimeJava; private int nodeIndex = 0; public ElasticsearchCluster( @@ -67,7 +68,8 @@ public class ElasticsearchCluster implements TestClusterConfiguration, Named { FileSystemOperations fileSystemOperations, ArchiveOperations archiveOperations, ExecOperations execOperations, - File workingDirBase + File workingDirBase, + Provider runtimeJava ) { this.path = path; this.clusterName = clusterName; @@ -77,6 +79,7 @@ public class ElasticsearchCluster implements TestClusterConfiguration, Named { this.archiveOperations = archiveOperations; this.execOperations = execOperations; this.workingDirBase = workingDirBase; + this.runtimeJava = runtimeJava; this.nodes = project.container(ElasticsearchNode.class); this.nodes.add( new ElasticsearchNode( @@ -88,7 +91,8 @@ public class ElasticsearchCluster implements TestClusterConfiguration, Named { fileSystemOperations, archiveOperations, execOperations, - workingDirBase + workingDirBase, + runtimeJava ) ); @@ -119,7 +123,8 @@ public class ElasticsearchCluster implements TestClusterConfiguration, Named { fileSystemOperations, archiveOperations, execOperations, - workingDirBase + workingDirBase, + runtimeJava ) ); } diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/ElasticsearchNode.java b/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/ElasticsearchNode.java index e67e95231833..2dde4a624d44 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/ElasticsearchNode.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/ElasticsearchNode.java @@ -14,13 +14,13 @@ import org.elasticsearch.gradle.ElasticsearchDistribution; import org.elasticsearch.gradle.FileSupplier; import org.elasticsearch.gradle.LazyPropertyList; import org.elasticsearch.gradle.LazyPropertyMap; -import org.elasticsearch.gradle.internal.LoggedExec; +import org.elasticsearch.gradle.distribution.ElasticsearchDistributionTypes; +import org.elasticsearch.gradle.LoggedExec; import org.elasticsearch.gradle.OS; import org.elasticsearch.gradle.PropertyNormalization; import org.elasticsearch.gradle.ReaperService; import org.elasticsearch.gradle.Version; -import org.elasticsearch.gradle.internal.VersionProperties; -import org.elasticsearch.gradle.internal.info.BuildParams; +import org.elasticsearch.gradle.VersionProperties; import org.elasticsearch.gradle.transform.UnzipTransform; import org.elasticsearch.gradle.util.Pair; import org.gradle.api.Action; @@ -152,6 +152,7 @@ public class ElasticsearchNode implements TestClusterConfiguration { private final Path esLogFile; private final Path esStdinFile; private final Path tmpDir; + private final Provider runtimeJava; private int currentDistro = 0; private TestDistribution testDistribution; @@ -176,7 +177,8 @@ public class ElasticsearchNode implements TestClusterConfiguration { FileSystemOperations fileSystemOperations, ArchiveOperations archiveOperations, ExecOperations execOperations, - File workingDirBase + File workingDirBase, + Provider runtimeJava ) { this.clusterName = clusterName; this.path = path; @@ -186,6 +188,7 @@ public class ElasticsearchNode implements TestClusterConfiguration { this.fileSystemOperations = fileSystemOperations; this.archiveOperations = archiveOperations; this.execOperations = execOperations; + this.runtimeJava = runtimeJava; workingDir = workingDirBase.toPath().resolve(safeName(name)).toAbsolutePath(); confPathRepo = workingDir.resolve("repo"); configFile = workingDir.resolve("config/elasticsearch.yml"); @@ -269,12 +272,12 @@ public class ElasticsearchNode implements TestClusterConfiguration { private void setDistributionType(ElasticsearchDistribution distribution, TestDistribution testDistribution) { if (testDistribution == TestDistribution.INTEG_TEST) { - distribution.setType(ElasticsearchDistribution.Type.INTEG_TEST_ZIP); + distribution.setType(ElasticsearchDistributionTypes.INTEG_TEST_ZIP); // we change the underlying distribution when changing the test distribution of the cluster. distribution.setPlatform(null); distribution.setBundledJdk(null); } else { - distribution.setType(ElasticsearchDistribution.Type.ARCHIVE); + distribution.setType(ElasticsearchDistributionTypes.ARCHIVE); } } @@ -762,7 +765,7 @@ public class ElasticsearchNode implements TestClusterConfiguration { Map defaultEnv = new HashMap<>(); // If we are testing the current version of Elasticsearch, use the configured runtime Java, otherwise use the bundled JDK if (getTestDistribution() == TestDistribution.INTEG_TEST || getVersion().equals(VersionProperties.getElasticsearchVersion())) { - defaultEnv.put("ES_JAVA_HOME", BuildParams.getRuntimeJavaHome().getAbsolutePath()); + defaultEnv.put("ES_JAVA_HOME", runtimeJava.get().getAbsolutePath()); } defaultEnv.put("ES_PATH_CONF", configFile.getParent().toString()); String systemPropertiesString = ""; diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/TestClustersPlugin.java b/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/TestClustersPlugin.java index f89739fee3ce..4690efee85d6 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/TestClustersPlugin.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/TestClustersPlugin.java @@ -10,9 +10,6 @@ package org.elasticsearch.gradle.testclusters; import org.elasticsearch.gradle.DistributionDownloadPlugin; import org.elasticsearch.gradle.ReaperPlugin; import org.elasticsearch.gradle.ReaperService; -import org.elasticsearch.gradle.internal.info.BuildParams; -import org.elasticsearch.gradle.internal.info.GlobalBuildInfoPlugin; -import org.elasticsearch.gradle.internal.InternalDistributionDownloadPlugin; import org.elasticsearch.gradle.util.GradleUtils; import org.gradle.api.NamedDomainObjectContainer; import org.gradle.api.Plugin; @@ -26,7 +23,9 @@ import org.gradle.api.invocation.Gradle; import org.gradle.api.logging.Logger; import org.gradle.api.logging.Logging; import org.gradle.api.provider.Provider; +import org.gradle.api.provider.ProviderFactory; import org.gradle.api.tasks.TaskState; +import org.gradle.internal.jvm.Jvm; import org.gradle.process.ExecOperations; import javax.inject.Inject; @@ -42,6 +41,8 @@ public class TestClustersPlugin implements Plugin { private static final String LIST_TASK_NAME = "listTestClusters"; private static final String REGISTRY_SERVICE_NAME = "testClustersRegistry"; private static final Logger logger = Logging.getLogger(TestClustersPlugin.class); + private final ProviderFactory providerFactory; + private Provider runtimeJavaProvider; @Inject protected FileSystemOperations getFileSystemOperations() { @@ -58,16 +59,26 @@ public class TestClustersPlugin implements Plugin { throw new UnsupportedOperationException(); } + @Inject + public TestClustersPlugin(ProviderFactory providerFactory) { + this.providerFactory = providerFactory; + } + + public void setRuntimeJava(Provider runtimeJava) { + this.runtimeJavaProvider = runtimeJava; + } + @Override public void apply(Project project) { - project.getRootProject().getPluginManager().apply(GlobalBuildInfoPlugin.class); - BuildParams.withInternalBuild(() -> project.getPlugins().apply(InternalDistributionDownloadPlugin.class)) - .orElse(() -> project.getPlugins().apply(DistributionDownloadPlugin.class)); + project.getPlugins().apply(DistributionDownloadPlugin.class); project.getRootProject().getPluginManager().apply(ReaperPlugin.class); Provider reaperServiceProvider = GradleUtils.getBuildService( project.getGradle().getSharedServices(), ReaperPlugin.REAPER_SERVICE_NAME ); + runtimeJavaProvider = providerFactory.provider( + () -> System.getenv("RUNTIME_JAVA_HOME") == null ? Jvm.current().getJavaHome() : new File(System.getenv("RUNTIME_JAVA_HOME")) + ); // enable the DSL to describe clusters NamedDomainObjectContainer container = createTestClustersContainerExtension(project, reaperServiceProvider); @@ -95,9 +106,8 @@ public class TestClustersPlugin implements Plugin { Provider reaper ) { // Create an extensions that allows describing clusters - NamedDomainObjectContainer container = project.container( - ElasticsearchCluster.class, - name -> new ElasticsearchCluster( + NamedDomainObjectContainer container = project.container(ElasticsearchCluster.class, name -> { + return new ElasticsearchCluster( project.getPath(), name, project, @@ -105,9 +115,10 @@ public class TestClustersPlugin implements Plugin { getFileSystemOperations(), getArchiveOperations(), getExecOperations(), - new File(project.getBuildDir(), "testclusters") - ) - ); + new File(project.getBuildDir(), "testclusters"), + runtimeJavaProvider + ); + }); project.getExtensions().add(EXTENSION_NAME, container); return container; } diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/TestDistribution.java b/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/TestDistribution.java index ea038d4bb521..6a1b35150892 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/TestDistribution.java +++ b/buildSrc/src/main/java/org/elasticsearch/gradle/testclusters/TestDistribution.java @@ -13,5 +13,4 @@ package org.elasticsearch.gradle.testclusters; public enum TestDistribution { INTEG_TEST, DEFAULT, - OSS } diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.build.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.build.properties deleted file mode 100644 index bb970e470089..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.build.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.elasticsearch.gradle.internal.BuildPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.distribution-download.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.distribution-download.properties deleted file mode 100644 index 3c0e3d94fab1..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.distribution-download.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.DistributionDownloadPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.distro-test.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.distro-test.properties deleted file mode 100644 index c23f3910b0f0..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.distro-test.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.test.DistroTestPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.docker-support.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.docker-support.properties deleted file mode 100644 index 7efffa644f7d..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.docker-support.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.elasticsearch.gradle.internal.docker.DockerSupportPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.docs-test.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.docs-test.properties deleted file mode 100644 index 6fc1a857b38b..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.docs-test.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.doc.DocsTestPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.esplugin.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.esplugin.properties deleted file mode 100644 index 3116e0415f5c..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.esplugin.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.elasticsearch.gradle.plugin.PluginBuildPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.global-build-info.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.global-build-info.properties deleted file mode 100644 index 66d2aa2ee26c..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.global-build-info.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.elasticsearch.gradle.internal.info.GlobalBuildInfoPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-available-ports.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-available-ports.properties deleted file mode 100644 index a9027eb71fbf..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-available-ports.properties +++ /dev/null @@ -1,10 +0,0 @@ -# -# 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. -# - -# needed for testkit testing -implementation-class=org.elasticsearch.gradle.internal.InternalAvailableTcpPortProviderPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-cluster-test.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-cluster-test.properties deleted file mode 100644 index 46f55261e6e4..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-cluster-test.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.test.InternalClusterTestPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-archive-check.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-archive-check.properties deleted file mode 100644 index afcd08003527..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-archive-check.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.InternalDistributionArchiveCheckPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-archive-setup.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-archive-setup.properties deleted file mode 100644 index 094a272bc731..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-archive-setup.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.InternalDistributionArchiveSetupPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-bwc-setup.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-bwc-setup.properties deleted file mode 100644 index 15ca9af40dc3..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-bwc-setup.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.InternalDistributionBwcSetupPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-download.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-download.properties deleted file mode 100644 index f214a0a66e93..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-distribution-download.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.InternalDistributionDownloadPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-licenseheaders.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-licenseheaders.properties deleted file mode 100644 index a807dcb565c3..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-licenseheaders.properties +++ /dev/null @@ -1,10 +0,0 @@ -# -# 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. -# - -# needed for testkit testing -implementation-class=org.elasticsearch.gradle.internal.precommit.LicenseHeadersPrecommitPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-test-artifact-base.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-test-artifact-base.properties deleted file mode 100644 index f041e84ea83d..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-test-artifact-base.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.InternalTestArtifactBasePlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-test-artifact.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-test-artifact.properties deleted file mode 100644 index 23c8ee07e5b5..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-test-artifact.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.InternalTestArtifactPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-test-rerun.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-test-rerun.properties deleted file mode 100644 index e5c9b596a567..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.internal-test-rerun.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.elasticsearch.gradle.internal.test.rerun.TestRerunPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.java-rest-test.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.java-rest-test.properties deleted file mode 100644 index 397c7f743bb1..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.java-rest-test.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.test.rest.JavaRestTestPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.java.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.java.properties deleted file mode 100644 index af0ae8708fc3..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.java.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.elasticsearch.gradle.internal.ElasticsearchJavaPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.jdk-download.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.jdk-download.properties deleted file mode 100644 index 654d71189fbf..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.jdk-download.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.elasticsearch.gradle.internal.JdkDownloadPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.publish.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.publish.properties deleted file mode 100644 index c0af28d7c093..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.publish.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.elasticsearch.gradle.internal.PublishPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.reaper.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.reaper.properties deleted file mode 100644 index 46d0f45ac5ea..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.reaper.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.elasticsearch.gradle.ReaperPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.repositories.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.repositories.properties deleted file mode 100644 index dd4cec92c163..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.repositories.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.RepositoriesSetupPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.rest-resources.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.rest-resources.properties deleted file mode 100644 index 76660b861459..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.rest-resources.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.test.rest.RestResourcesPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.rest-test.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.rest-test.properties deleted file mode 100644 index a7922900cfc0..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.rest-test.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.elasticsearch.gradle.internal.test.RestTestPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.standalone-rest-test.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.standalone-rest-test.properties deleted file mode 100644 index a47d7eba8c35..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.standalone-rest-test.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.test.StandaloneRestTestPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.standalone-test.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.standalone-test.properties deleted file mode 100644 index 6e413ae95152..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.standalone-test.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.test.StandaloneTestPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test-base.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test-base.properties deleted file mode 100644 index 44d840f5b3cd..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test-base.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.ElasticsearchTestBasePlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test-with-dependencies.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test-with-dependencies.properties deleted file mode 100644 index 75256f3fae0f..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test-with-dependencies.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.test.TestWithDependenciesPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test-with-ssl.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test-with-ssl.properties deleted file mode 100644 index 337e5aeb618c..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test-with-ssl.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.test.TestWithSslPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test.fixtures.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test.fixtures.properties deleted file mode 100644 index e58710308ba5..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.test.fixtures.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.elasticsearch.gradle.internal.testfixtures.TestFixturesPlugin \ No newline at end of file diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.testclusters.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.testclusters.properties deleted file mode 100644 index 8d81f05fc69f..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.testclusters.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.elasticsearch.gradle.testclusters.TestClustersPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.validate-rest-spec.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.validate-rest-spec.properties deleted file mode 100644 index d11c864c3228..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.validate-rest-spec.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.elasticsearch.gradle.internal.precommit.ValidateRestSpecPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.yaml-rest-compat-test.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.yaml-rest-compat-test.properties deleted file mode 100644 index 80d7ba7fea09..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.yaml-rest-compat-test.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.rest.compat.YamlRestCompatTestPlugin diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.yaml-rest-test.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.yaml-rest-test.properties deleted file mode 100644 index f908c66cfd72..000000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/elasticsearch.yaml-rest-test.properties +++ /dev/null @@ -1,9 +0,0 @@ -# -# 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. -# - -implementation-class=org.elasticsearch.gradle.internal.test.rest.YamlRestTestPlugin diff --git a/buildSrc/src/test/java/org/elasticsearch/gradle/AbstractDistributionDownloadPluginTests.java b/buildSrc/src/test/java/org/elasticsearch/gradle/AbstractDistributionDownloadPluginTests.java new file mode 100644 index 000000000000..75b4c8d09821 --- /dev/null +++ b/buildSrc/src/test/java/org/elasticsearch/gradle/AbstractDistributionDownloadPluginTests.java @@ -0,0 +1,112 @@ +/* + * 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.gradle; + +import org.elasticsearch.gradle.internal.BwcVersions; +import org.elasticsearch.gradle.internal.info.BuildParams; +import org.elasticsearch.gradle.internal.test.GradleUnitTestCase; +import org.gradle.api.NamedDomainObjectContainer; +import org.gradle.api.Project; +import org.gradle.testfixtures.ProjectBuilder; + +import java.io.File; +import java.util.Arrays; +import java.util.TreeSet; + +public class AbstractDistributionDownloadPluginTests extends GradleUnitTestCase { + protected static Project rootProject; + protected static Project archivesProject; + protected static Project packagesProject; + protected static Project bwcProject; + + protected static final Version BWC_MAJOR_VERSION = Version.fromString("2.0.0"); + protected static final Version BWC_MINOR_VERSION = Version.fromString("1.1.0"); + protected static final Version BWC_STAGED_VERSION = Version.fromString("1.0.0"); + protected static final Version BWC_BUGFIX_VERSION = Version.fromString("1.0.1"); + protected static final Version BWC_MAINTENANCE_VERSION = Version.fromString("0.90.1"); + + protected static final BwcVersions BWC_MINOR = new BwcVersions( + new TreeSet<>(Arrays.asList(BWC_BUGFIX_VERSION, BWC_MINOR_VERSION, BWC_MAJOR_VERSION)), + BWC_MAJOR_VERSION + ); + protected static final BwcVersions BWC_STAGED = new BwcVersions( + new TreeSet<>(Arrays.asList(BWC_STAGED_VERSION, BWC_MINOR_VERSION, BWC_MAJOR_VERSION)), + BWC_MAJOR_VERSION + ); + protected static final BwcVersions BWC_BUGFIX = new BwcVersions( + new TreeSet<>(Arrays.asList(BWC_BUGFIX_VERSION, BWC_MINOR_VERSION, BWC_MAJOR_VERSION)), + BWC_MAJOR_VERSION + ); + protected static final BwcVersions BWC_MAINTENANCE = new BwcVersions( + new TreeSet<>(Arrays.asList(BWC_MAINTENANCE_VERSION, BWC_STAGED_VERSION, BWC_MINOR_VERSION)), + BWC_MINOR_VERSION + ); + + protected static String projectName(String base, boolean bundledJdk) { + String prefix = bundledJdk == false ? "no-jdk-" : ""; + return prefix + base; + } + + protected void checkBwc( + String projectName, + String config, + Version version, + ElasticsearchDistributionType type, + ElasticsearchDistribution.Platform platform, + BwcVersions bwcVersions, + boolean isInternal + ) { + Project project = createProject(bwcVersions, isInternal); + Project archiveProject = ProjectBuilder.builder().withParent(bwcProject).withName(projectName).build(); + archiveProject.getConfigurations().create(config); + archiveProject.getArtifacts().add(config, new File("doesnotmatter")); + createDistro(project, "distro", version.toString(), type, platform, true); + } + + protected ElasticsearchDistribution createDistro( + Project project, + String name, + String version, + ElasticsearchDistributionType type, + ElasticsearchDistribution.Platform platform, + Boolean bundledJdk + ) { + NamedDomainObjectContainer distros = DistributionDownloadPlugin.getContainer(project); + return distros.create(name, distro -> { + if (version != null) { + distro.setVersion(version); + } + if (type != null) { + distro.setType(type); + } + if (platform != null) { + distro.setPlatform(platform); + } + if (bundledJdk != null) { + distro.setBundledJdk(bundledJdk); + } + }).maybeFreeze(); + } + + protected Project createProject(BwcVersions bwcVersions, boolean isInternal) { + rootProject = ProjectBuilder.builder().build(); + BuildParams.init(params -> params.setIsInternal(isInternal)); + Project distributionProject = ProjectBuilder.builder().withParent(rootProject).withName("distribution").build(); + archivesProject = ProjectBuilder.builder().withParent(distributionProject).withName("archives").build(); + packagesProject = ProjectBuilder.builder().withParent(distributionProject).withName("packages").build(); + bwcProject = ProjectBuilder.builder().withParent(distributionProject).withName("bwc").build(); + Project project = ProjectBuilder.builder().withParent(rootProject).build(); + if (bwcVersions != null) { + project.getExtensions().getExtraProperties().set("bwcVersions", bwcVersions); + } + project.getPlugins().apply("elasticsearch.distribution-download"); + return project; + } + +} diff --git a/buildSrc/src/test/java/org/elasticsearch/gradle/DistributionDownloadPluginTests.java b/buildSrc/src/test/java/org/elasticsearch/gradle/DistributionDownloadPluginTests.java index 2a6a1fcb3f01..769e3dd0561f 100644 --- a/buildSrc/src/test/java/org/elasticsearch/gradle/DistributionDownloadPluginTests.java +++ b/buildSrc/src/test/java/org/elasticsearch/gradle/DistributionDownloadPluginTests.java @@ -9,51 +9,25 @@ package org.elasticsearch.gradle; import org.elasticsearch.gradle.ElasticsearchDistribution.Platform; -import org.elasticsearch.gradle.ElasticsearchDistribution.Type; -import org.elasticsearch.gradle.internal.VersionProperties; -import org.elasticsearch.gradle.internal.info.BuildParams; -import org.elasticsearch.gradle.internal.BwcVersions; -import org.elasticsearch.gradle.internal.test.GradleUnitTestCase; -import org.gradle.api.NamedDomainObjectContainer; +import org.elasticsearch.gradle.distribution.ElasticsearchDistributionTypes; import org.gradle.api.Project; import org.gradle.testfixtures.ProjectBuilder; import java.io.File; -import java.util.Arrays; -import java.util.TreeSet; import static org.hamcrest.core.StringContains.containsString; -public class DistributionDownloadPluginTests extends GradleUnitTestCase { - private static Project rootProject; - private static Project archivesProject; - private static Project packagesProject; - private static Project bwcProject; - - private static final Version BWC_MAJOR_VERSION = Version.fromString("2.0.0"); - private static final Version BWC_MINOR_VERSION = Version.fromString("1.1.0"); - private static final Version BWC_STAGED_VERSION = Version.fromString("1.0.0"); - private static final Version BWC_BUGFIX_VERSION = Version.fromString("1.0.1"); - private static final Version BWC_MAINTENANCE_VERSION = Version.fromString("0.90.1"); - private static final BwcVersions BWC_MINOR = new BwcVersions( - new TreeSet<>(Arrays.asList(BWC_BUGFIX_VERSION, BWC_MINOR_VERSION, BWC_MAJOR_VERSION)), - BWC_MAJOR_VERSION - ); - private static final BwcVersions BWC_STAGED = new BwcVersions( - new TreeSet<>(Arrays.asList(BWC_STAGED_VERSION, BWC_MINOR_VERSION, BWC_MAJOR_VERSION)), - BWC_MAJOR_VERSION - ); - private static final BwcVersions BWC_BUGFIX = new BwcVersions( - new TreeSet<>(Arrays.asList(BWC_BUGFIX_VERSION, BWC_MINOR_VERSION, BWC_MAJOR_VERSION)), - BWC_MAJOR_VERSION - ); - private static final BwcVersions BWC_MAINTENANCE = new BwcVersions( - new TreeSet<>(Arrays.asList(BWC_MAINTENANCE_VERSION, BWC_STAGED_VERSION, BWC_MINOR_VERSION)), - BWC_MINOR_VERSION - ); +public class DistributionDownloadPluginTests extends AbstractDistributionDownloadPluginTests { public void testVersionDefault() { - ElasticsearchDistribution distro = checkDistro(createProject(null, false), "testdistro", null, Type.ARCHIVE, Platform.LINUX, true); + ElasticsearchDistribution distro = checkDistro( + createProject(null, false), + "testdistro", + null, + ElasticsearchDistributionTypes.ARCHIVE, + Platform.LINUX, + true + ); assertEquals(distro.getVersion(), VersionProperties.getElasticsearch()); } @@ -62,7 +36,7 @@ public class DistributionDownloadPluginTests extends GradleUnitTestCase { createProject(null, false), "testdistro", "badversion", - Type.ARCHIVE, + ElasticsearchDistributionTypes.ARCHIVE, Platform.LINUX, true, "Invalid version format: 'badversion'" @@ -71,11 +45,18 @@ public class DistributionDownloadPluginTests extends GradleUnitTestCase { public void testTypeDefault() { ElasticsearchDistribution distro = checkDistro(createProject(null, false), "testdistro", "5.0.0", null, Platform.LINUX, true); - assertEquals(distro.getType(), Type.ARCHIVE); + assertEquals(distro.getType(), ElasticsearchDistributionTypes.ARCHIVE); } public void testPlatformDefault() { - ElasticsearchDistribution distro = checkDistro(createProject(null, false), "testdistro", "5.0.0", Type.ARCHIVE, null, true); + ElasticsearchDistribution distro = checkDistro( + createProject(null, false), + "testdistro", + "5.0.0", + ElasticsearchDistributionTypes.ARCHIVE, + null, + true + ); assertEquals(distro.getPlatform(), ElasticsearchDistribution.CURRENT_PLATFORM); } @@ -84,7 +65,7 @@ public class DistributionDownloadPluginTests extends GradleUnitTestCase { createProject(null, false), "testdistro", "5.0.0", - Type.INTEG_TEST_ZIP, + ElasticsearchDistributionTypes.INTEG_TEST_ZIP, Platform.LINUX, null, "platform cannot be set on elasticsearch distribution [testdistro]" @@ -96,7 +77,7 @@ public class DistributionDownloadPluginTests extends GradleUnitTestCase { createProject(null, false), "testdistro", "5.0.0", - Type.ARCHIVE, + ElasticsearchDistributionTypes.ARCHIVE, Platform.LINUX, true ); @@ -108,7 +89,7 @@ public class DistributionDownloadPluginTests extends GradleUnitTestCase { createProject(null, false), "testdistro", "5.0.0", - Type.INTEG_TEST_ZIP, + ElasticsearchDistributionTypes.INTEG_TEST_ZIP, null, true, "bundledJdk cannot be set on elasticsearch distribution [testdistro]" @@ -120,7 +101,7 @@ public class DistributionDownloadPluginTests extends GradleUnitTestCase { Project archiveProject = ProjectBuilder.builder().withParent(archivesProject).withName("integ-test-zip").build(); archiveProject.getConfigurations().create("default"); archiveProject.getArtifacts().add("default", new File("doesnotmatter")); - createDistro(project, "distro", VersionProperties.getElasticsearch(), Type.INTEG_TEST_ZIP, null, null); + createDistro(project, "distro", VersionProperties.getElasticsearch(), ElasticsearchDistributionTypes.INTEG_TEST_ZIP, null, null); } public void testLocalCurrentVersionArchives() { @@ -133,20 +114,14 @@ public class DistributionDownloadPluginTests extends GradleUnitTestCase { Project archiveProject = ProjectBuilder.builder().withParent(archivesProject).withName(projectName).build(); archiveProject.getConfigurations().create("default"); archiveProject.getArtifacts().add("default", new File("doesnotmatter")); - createDistro(project, "distro", VersionProperties.getElasticsearch(), Type.ARCHIVE, platform, bundledJdk); - } - } - } - - public void testLocalCurrentVersionPackages() { - for (Type packageType : new Type[] { Type.RPM, Type.DEB }) { - for (boolean bundledJdk : new boolean[] { true, false }) { - Project project = createProject(BWC_MINOR, true); - String projectName = projectName(packageType.toString(), bundledJdk); - Project packageProject = ProjectBuilder.builder().withParent(packagesProject).withName(projectName).build(); - packageProject.getConfigurations().create("default"); - packageProject.getArtifacts().add("default", new File("doesnotmatter")); - createDistro(project, "distro", VersionProperties.getElasticsearch(), packageType, null, bundledJdk); + createDistro( + project, + "distro", + VersionProperties.getElasticsearch(), + ElasticsearchDistributionTypes.ARCHIVE, + platform, + bundledJdk + ); } } } @@ -156,22 +131,11 @@ public class DistributionDownloadPluginTests extends GradleUnitTestCase { // note: no non bundled jdk for bwc String configName = projectName(platform.toString(), true); configName += (platform == Platform.WINDOWS ? "-zip" : "-tar"); - - checkBwc("minor", configName, BWC_MINOR_VERSION, Type.ARCHIVE, platform, BWC_MINOR, true); - checkBwc("staged", configName, BWC_STAGED_VERSION, Type.ARCHIVE, platform, BWC_STAGED, true); - checkBwc("bugfix", configName, BWC_BUGFIX_VERSION, Type.ARCHIVE, platform, BWC_BUGFIX, true); - checkBwc("maintenance", configName, BWC_MAINTENANCE_VERSION, Type.ARCHIVE, platform, BWC_MAINTENANCE, true); - } - } - - public void testLocalBwcPackages() { - for (Type packageType : new Type[] { Type.RPM, Type.DEB }) { - // note: no non bundled jdk for bwc - String configName = projectName(packageType.toString(), true); - checkBwc("minor", configName, BWC_MINOR_VERSION, packageType, null, BWC_MINOR, true); - checkBwc("staged", configName, BWC_STAGED_VERSION, packageType, null, BWC_STAGED, true); - checkBwc("bugfix", configName, BWC_BUGFIX_VERSION, packageType, null, BWC_BUGFIX, true); - checkBwc("maintenance", configName, BWC_MAINTENANCE_VERSION, packageType, null, BWC_MAINTENANCE, true); + ElasticsearchDistributionType archiveType = ElasticsearchDistributionTypes.ARCHIVE; + checkBwc("minor", configName, BWC_MINOR_VERSION, archiveType, platform, BWC_MINOR, true); + checkBwc("staged", configName, BWC_STAGED_VERSION, archiveType, platform, BWC_STAGED, true); + checkBwc("bugfix", configName, BWC_BUGFIX_VERSION, archiveType, platform, BWC_BUGFIX, true); + checkBwc("maintenance", configName, BWC_MAINTENANCE_VERSION, archiveType, platform, BWC_MAINTENANCE, true); } } @@ -179,7 +143,7 @@ public class DistributionDownloadPluginTests extends GradleUnitTestCase { Project project, String name, String version, - Type type, + ElasticsearchDistributionType type, Platform platform, Boolean bundledJdk, String message @@ -191,37 +155,12 @@ public class DistributionDownloadPluginTests extends GradleUnitTestCase { assertThat(e.getMessage(), containsString(message)); } - private ElasticsearchDistribution createDistro( - Project project, - String name, - String version, - Type type, - Platform platform, - Boolean bundledJdk - ) { - NamedDomainObjectContainer distros = DistributionDownloadPlugin.getContainer(project); - return distros.create(name, distro -> { - if (version != null) { - distro.setVersion(version); - } - if (type != null) { - distro.setType(type); - } - if (platform != null) { - distro.setPlatform(platform); - } - if (bundledJdk != null) { - distro.setBundledJdk(bundledJdk); - } - }).maybeFreeze(); - } - // create a distro and finalize its configuration private ElasticsearchDistribution checkDistro( Project project, String name, String version, - Type type, + ElasticsearchDistributionType type, Platform platform, Boolean bundledJdk ) { @@ -230,39 +169,4 @@ public class DistributionDownloadPluginTests extends GradleUnitTestCase { return distribution; } - private void checkBwc( - String projectName, - String config, - Version version, - Type type, - Platform platform, - BwcVersions bwcVersions, - boolean isInternal - ) { - Project project = createProject(bwcVersions, isInternal); - Project archiveProject = ProjectBuilder.builder().withParent(bwcProject).withName(projectName).build(); - archiveProject.getConfigurations().create(config); - archiveProject.getArtifacts().add(config, new File("doesnotmatter")); - createDistro(project, "distro", version.toString(), type, platform, true); - } - - private Project createProject(BwcVersions bwcVersions, boolean isInternal) { - rootProject = ProjectBuilder.builder().build(); - BuildParams.init(params -> params.setIsInternal(isInternal)); - Project distributionProject = ProjectBuilder.builder().withParent(rootProject).withName("distribution").build(); - archivesProject = ProjectBuilder.builder().withParent(distributionProject).withName("archives").build(); - packagesProject = ProjectBuilder.builder().withParent(distributionProject).withName("packages").build(); - bwcProject = ProjectBuilder.builder().withParent(distributionProject).withName("bwc").build(); - Project project = ProjectBuilder.builder().withParent(rootProject).build(); - if (bwcVersions != null) { - project.getExtensions().getExtraProperties().set("bwcVersions", bwcVersions); - } - project.getPlugins().apply("elasticsearch.distribution-download"); - return project; - } - - private static String projectName(String base, boolean bundledJdk) { - String prefix = bundledJdk == false ? "no-jdk-" : ""; - return prefix + base; - } } diff --git a/buildSrc/src/test/java/org/elasticsearch/gradle/internal/InternalDistributionDownloadPluginTests.java b/buildSrc/src/test/java/org/elasticsearch/gradle/internal/InternalDistributionDownloadPluginTests.java new file mode 100644 index 000000000000..c192809de71f --- /dev/null +++ b/buildSrc/src/test/java/org/elasticsearch/gradle/internal/InternalDistributionDownloadPluginTests.java @@ -0,0 +1,47 @@ +/* + * 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.gradle.internal; + +import org.elasticsearch.gradle.AbstractDistributionDownloadPluginTests; +import org.elasticsearch.gradle.ElasticsearchDistributionType; +import org.elasticsearch.gradle.VersionProperties; +import org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes; +import org.gradle.api.Project; +import org.gradle.testfixtures.ProjectBuilder; + +import java.io.File; + +public class InternalDistributionDownloadPluginTests extends AbstractDistributionDownloadPluginTests { + + public void testLocalCurrentVersionPackages() { + ElasticsearchDistributionType[] types = { InternalElasticsearchDistributionTypes.RPM, InternalElasticsearchDistributionTypes.DEB }; + for (ElasticsearchDistributionType packageType : types) { + for (boolean bundledJdk : new boolean[] { true, false }) { + Project project = createProject(BWC_MINOR, true); + String projectName = projectName(packageType.toString(), bundledJdk); + Project packageProject = ProjectBuilder.builder().withParent(packagesProject).withName(projectName).build(); + packageProject.getConfigurations().create("default"); + packageProject.getArtifacts().add("default", new File("doesnotmatter")); + createDistro(project, "distro", VersionProperties.getElasticsearch(), packageType, null, bundledJdk); + } + } + } + + public void testLocalBwcPackages() { + ElasticsearchDistributionType[] types = { InternalElasticsearchDistributionTypes.RPM, InternalElasticsearchDistributionTypes.DEB }; + for (ElasticsearchDistributionType packageType : types) { + // note: no non bundled jdk for bwc + String configName = projectName(packageType.toString(), true); + checkBwc("minor", configName, BWC_MINOR_VERSION, packageType, null, BWC_MINOR, true); + checkBwc("staged", configName, BWC_STAGED_VERSION, packageType, null, BWC_STAGED, true); + checkBwc("bugfix", configName, BWC_BUGFIX_VERSION, packageType, null, BWC_BUGFIX, true); + checkBwc("maintenance", configName, BWC_MAINTENANCE_VERSION, packageType, null, BWC_MAINTENANCE, true); + } + } +} diff --git a/client/client-benchmark-noop-api-plugin/build.gradle b/client/client-benchmark-noop-api-plugin/build.gradle index d6277d16556f..198775e61b8a 100644 --- a/client/client-benchmark-noop-api-plugin/build.gradle +++ b/client/client-benchmark-noop-api-plugin/build.gradle @@ -8,7 +8,7 @@ group = 'org.elasticsearch.plugin' -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' esplugin { name 'client-benchmark-noop-api' diff --git a/client/rest-high-level/build.gradle b/client/rest-high-level/build.gradle index 9bc0b7406376..1973e753edc8 100644 --- a/client/rest-high-level/build.gradle +++ b/client/rest-high-level/build.gradle @@ -8,7 +8,7 @@ import org.elasticsearch.gradle.internal.info.BuildParams * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.build' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.publish' diff --git a/distribution/build.gradle b/distribution/build.gradle index ef4086966dc3..4a1c07444ee1 100644 --- a/distribution/build.gradle +++ b/distribution/build.gradle @@ -11,8 +11,8 @@ import org.apache.tools.ant.filters.FixCrLfFilter import org.elasticsearch.gradle.internal.ConcatFilesTask import org.elasticsearch.gradle.internal.DependenciesInfoTask import org.elasticsearch.gradle.internal.MavenFilteringHack -import org.elasticsearch.gradle.NoticeTask -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.internal.NoticeTask +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.internal.info.BuildParams import java.nio.file.Files @@ -150,7 +150,7 @@ void copyModule(TaskProvider copyTask, Project module) { exclude 'config/log4j2.properties' eachFile { details -> - String name = module.plugins.hasPlugin('elasticsearch.esplugin') ? module.esplugin.name : module.es_meta_plugin.name + String name = module.plugins.hasPlugin('elasticsearch.internal-es-plugin') ? module.esplugin.name : module.es_meta_plugin.name // Copy all non config/bin files // Note these might be unde a subdirectory in the case of a meta plugin if ((details.relativePath.pathString ==~ /([^\/]+\/)?(config|bin)\/.*/) == false) { diff --git a/distribution/docker/build.gradle b/distribution/docker/build.gradle index 8377135539ec..3caa02cbaddd 100644 --- a/distribution/docker/build.gradle +++ b/distribution/docker/build.gradle @@ -1,12 +1,13 @@ import org.elasticsearch.gradle.Architecture import org.elasticsearch.gradle.internal.DockerBase -import org.elasticsearch.gradle.internal.LoggedExec -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.LoggedExec +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.internal.docker.DockerBuildTask import org.elasticsearch.gradle.internal.docker.ShellRetry import org.elasticsearch.gradle.internal.docker.TransformLog4jConfigFilter import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.internal.testfixtures.TestFixturesPlugin +import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.DOCKER import java.nio.file.Path @@ -149,7 +150,7 @@ elasticsearch_distributions { Architecture.values().each { eachArchitecture -> "docker_${ eachArchitecture == Architecture.AARCH64 ? '_aarch64' : '' }" { architecture = eachArchitecture - type = 'docker' + type = DOCKER version = VersionProperties.getElasticsearch() failIfUnavailable = false // This ensures we don't attempt to build images if docker is unavailable } diff --git a/distribution/packages/build.gradle b/distribution/packages/build.gradle index be7a407ccac5..f871f3c28c00 100644 --- a/distribution/packages/build.gradle +++ b/distribution/packages/build.gradle @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import org.elasticsearch.gradle.internal.LoggedExec +import org.elasticsearch.gradle.LoggedExec import org.elasticsearch.gradle.internal.MavenFilteringHack import org.elasticsearch.gradle.OS import org.elasticsearch.gradle.internal.info.BuildParams diff --git a/modules/build.gradle b/modules/build.gradle index ff4bd1dfd01e..57f7495d8713 100644 --- a/modules/build.gradle +++ b/modules/build.gradle @@ -8,8 +8,8 @@ configure(subprojects.findAll { it.parent.path == project.path }) { group = 'org.elasticsearch.plugin' // for modules which publish client jars - apply plugin: 'elasticsearch.testclusters' - apply plugin: 'elasticsearch.esplugin' + apply plugin: 'elasticsearch.internal-testclusters' + apply plugin: 'elasticsearch.internal-es-plugin' esplugin { // for local ES plugins, the name of the plugin is the same as the directory diff --git a/plugins/build.gradle b/plugins/build.gradle index 9ad5313eb504..a9bb4ac93faf 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -7,13 +7,13 @@ */ subprojects { - apply plugin: 'elasticsearch.testclusters' + apply plugin: 'elasticsearch.internal-testclusters' } // only configure immediate children of plugins dir configure(subprojects.findAll { it.parent.path == project.path }) { group = 'org.elasticsearch.plugin' - apply plugin: 'elasticsearch.esplugin' + apply plugin: 'elasticsearch.internal-es-plugin' esplugin { // for local ES plugins, the name of the plugin is the same as the directory diff --git a/plugins/discovery-azure-classic/build.gradle b/plugins/discovery-azure-classic/build.gradle index 88dc6a3897a7..3101b0b343c5 100644 --- a/plugins/discovery-azure-classic/build.gradle +++ b/plugins/discovery-azure-classic/build.gradle @@ -1,4 +1,4 @@ -import org.elasticsearch.gradle.internal.LoggedExec +import org.elasticsearch.gradle.LoggedExec import org.elasticsearch.gradle.internal.info.BuildParams /* diff --git a/plugins/examples/custom-settings/build.gradle b/plugins/examples/custom-settings/build.gradle index 53b2fea25b92..db6c0d3eba29 100644 --- a/plugins/examples/custom-settings/build.gradle +++ b/plugins/examples/custom-settings/build.gradle @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.yaml-rest-test' esplugin { diff --git a/plugins/examples/custom-significance-heuristic/build.gradle b/plugins/examples/custom-significance-heuristic/build.gradle index 29d718af1299..3f892f506784 100644 --- a/plugins/examples/custom-significance-heuristic/build.gradle +++ b/plugins/examples/custom-significance-heuristic/build.gradle @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.yaml-rest-test' esplugin { diff --git a/plugins/examples/custom-suggester/build.gradle b/plugins/examples/custom-suggester/build.gradle index 40d79644a546..58061ce01af8 100644 --- a/plugins/examples/custom-suggester/build.gradle +++ b/plugins/examples/custom-suggester/build.gradle @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.yaml-rest-test' esplugin { diff --git a/plugins/examples/painless-whitelist/build.gradle b/plugins/examples/painless-whitelist/build.gradle index 4728919d271b..a625a45715d4 100644 --- a/plugins/examples/painless-whitelist/build.gradle +++ b/plugins/examples/painless-whitelist/build.gradle @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.yaml-rest-test' esplugin { diff --git a/plugins/examples/rescore/build.gradle b/plugins/examples/rescore/build.gradle index d83bdbc79c0b..6c676a86fc5f 100644 --- a/plugins/examples/rescore/build.gradle +++ b/plugins/examples/rescore/build.gradle @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.yaml-rest-test' esplugin { diff --git a/plugins/examples/rest-handler/build.gradle b/plugins/examples/rest-handler/build.gradle index cf5ff5fc437e..dd15e77e07cc 100644 --- a/plugins/examples/rest-handler/build.gradle +++ b/plugins/examples/rest-handler/build.gradle @@ -7,7 +7,7 @@ import org.elasticsearch.gradle.internal.info.BuildParams * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.yaml-rest-test' apply plugin: 'elasticsearch.java-rest-test' diff --git a/plugins/examples/script-expert-scoring/build.gradle b/plugins/examples/script-expert-scoring/build.gradle index d2377e894edb..c9d79f7aa767 100644 --- a/plugins/examples/script-expert-scoring/build.gradle +++ b/plugins/examples/script-expert-scoring/build.gradle @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.yaml-rest-test' esplugin { diff --git a/plugins/examples/security-authorization-engine/build.gradle b/plugins/examples/security-authorization-engine/build.gradle index 7e016cf982b3..6bfba35595ae 100644 --- a/plugins/examples/security-authorization-engine/build.gradle +++ b/plugins/examples/security-authorization-engine/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.java-rest-test' esplugin { diff --git a/qa/ccs-rolling-upgrade-remote-cluster/build.gradle b/qa/ccs-rolling-upgrade-remote-cluster/build.gradle index b9b1e360bd8f..501ce6190b8a 100644 --- a/qa/ccs-rolling-upgrade-remote-cluster/build.gradle +++ b/qa/ccs-rolling-upgrade-remote-cluster/build.gradle @@ -10,7 +10,7 @@ import org.elasticsearch.gradle.Version import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' apply plugin: 'elasticsearch.bwc-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/qa/ccs-unavailable-clusters/build.gradle b/qa/ccs-unavailable-clusters/build.gradle index 6f6f08f4eb55..0d3e1662707d 100644 --- a/qa/ccs-unavailable-clusters/build.gradle +++ b/qa/ccs-unavailable-clusters/build.gradle @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.test-with-dependencies' diff --git a/qa/die-with-dignity/build.gradle b/qa/die-with-dignity/build.gradle index 4ef36b0383dd..7c82b38be0a6 100644 --- a/qa/die-with-dignity/build.gradle +++ b/qa/die-with-dignity/build.gradle @@ -2,7 +2,7 @@ import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.util.GradleUtils apply plugin: 'elasticsearch.java-rest-test' -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' esplugin { description 'Die with dignity plugin' diff --git a/qa/evil-tests/build.gradle b/qa/evil-tests/build.gradle index f9ab9a6751e7..559aad2d0e2e 100644 --- a/qa/evil-tests/build.gradle +++ b/qa/evil-tests/build.gradle @@ -12,7 +12,7 @@ * threads, etc. */ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' dependencies { diff --git a/qa/full-cluster-restart/build.gradle b/qa/full-cluster-restart/build.gradle index 0d7a8781baf4..334161795526 100644 --- a/qa/full-cluster-restart/build.gradle +++ b/qa/full-cluster-restart/build.gradle @@ -11,7 +11,7 @@ import org.elasticsearch.gradle.Version import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' apply plugin: 'elasticsearch.internal-test-artifact' apply plugin: 'elasticsearch.bwc-test' diff --git a/qa/logging-config/build.gradle b/qa/logging-config/build.gradle index e31834f68345..ef67e3b084f5 100644 --- a/qa/logging-config/build.gradle +++ b/qa/logging-config/build.gradle @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.standalone-test' diff --git a/qa/mixed-cluster/build.gradle b/qa/mixed-cluster/build.gradle index 13d26d40af66..7a1191603fc2 100644 --- a/qa/mixed-cluster/build.gradle +++ b/qa/mixed-cluster/build.gradle @@ -7,11 +7,11 @@ */ import org.elasticsearch.gradle.Version -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' apply plugin: 'elasticsearch.bwc-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/qa/multi-cluster-search/build.gradle b/qa/multi-cluster-search/build.gradle index fbbd4b9a029c..009e83daffea 100644 --- a/qa/multi-cluster-search/build.gradle +++ b/qa/multi-cluster-search/build.gradle @@ -8,7 +8,7 @@ import org.elasticsearch.gradle.internal.test.RestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/qa/remote-clusters/build.gradle b/qa/remote-clusters/build.gradle index b81f4a50450a..f83110897131 100644 --- a/qa/remote-clusters/build.gradle +++ b/qa/remote-clusters/build.gradle @@ -7,8 +7,9 @@ */ import org.elasticsearch.gradle.Architecture -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.internal.testfixtures.TestFixturesPlugin +import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.DOCKER; apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.test.fixtures' @@ -36,7 +37,7 @@ tasks.register("copyNodeKeyMaterial", Sync) { elasticsearch_distributions { docker { - type = 'docker' + type = DOCKER architecture = Architecture.current() version = VersionProperties.getElasticsearch() failIfUnavailable = false // This ensures we skip this testing if Docker is unavailable diff --git a/qa/repository-multi-version/build.gradle b/qa/repository-multi-version/build.gradle index 1a4a1bde58e8..6d0c8bc54890 100644 --- a/qa/repository-multi-version/build.gradle +++ b/qa/repository-multi-version/build.gradle @@ -10,7 +10,7 @@ import org.elasticsearch.gradle.Version import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' apply plugin: 'elasticsearch.internal-test-artifact' diff --git a/qa/rolling-upgrade/build.gradle b/qa/rolling-upgrade/build.gradle index ca827270c27d..1e983b6f7a9a 100644 --- a/qa/rolling-upgrade/build.gradle +++ b/qa/rolling-upgrade/build.gradle @@ -10,7 +10,7 @@ import org.elasticsearch.gradle.Version import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' apply plugin: 'elasticsearch.bwc-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/qa/smoke-test-http/build.gradle b/qa/smoke-test-http/build.gradle index 28008876e14d..f08700b9c24d 100644 --- a/qa/smoke-test-http/build.gradle +++ b/qa/smoke-test-http/build.gradle @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.test-with-dependencies' diff --git a/qa/smoke-test-ingest-disabled/build.gradle b/qa/smoke-test-ingest-disabled/build.gradle index 268254d3288c..280bcf233c05 100644 --- a/qa/smoke-test-ingest-disabled/build.gradle +++ b/qa/smoke-test-ingest-disabled/build.gradle @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/qa/smoke-test-ingest-with-all-dependencies/build.gradle b/qa/smoke-test-ingest-with-all-dependencies/build.gradle index b7a8df8cc2e1..df213274e34e 100644 --- a/qa/smoke-test-ingest-with-all-dependencies/build.gradle +++ b/qa/smoke-test-ingest-with-all-dependencies/build.gradle @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/qa/smoke-test-multinode/build.gradle b/qa/smoke-test-multinode/build.gradle index 5dc166c66bf8..1830ef309b4f 100644 --- a/qa/smoke-test-multinode/build.gradle +++ b/qa/smoke-test-multinode/build.gradle @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/qa/smoke-test-plugins/build.gradle b/qa/smoke-test-plugins/build.gradle index d4b4a9cd2487..8b886db84d13 100644 --- a/qa/smoke-test-plugins/build.gradle +++ b/qa/smoke-test-plugins/build.gradle @@ -9,7 +9,7 @@ import org.elasticsearch.gradle.internal.MavenFilteringHack import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/qa/unconfigured-node-name/build.gradle b/qa/unconfigured-node-name/build.gradle index 1196c6a88603..256c7d981610 100644 --- a/qa/unconfigured-node-name/build.gradle +++ b/qa/unconfigured-node-name/build.gradle @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' diff --git a/qa/verify-version-constants/build.gradle b/qa/verify-version-constants/build.gradle index f62a13438af8..c8c87f22f1d4 100644 --- a/qa/verify-version-constants/build.gradle +++ b/qa/verify-version-constants/build.gradle @@ -7,11 +7,11 @@ */ import org.elasticsearch.gradle.Version -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' apply plugin: 'elasticsearch.bwc-test' diff --git a/qa/wildfly/build.gradle b/qa/wildfly/build.gradle index 346a9cd19bdf..7290424b6d8e 100644 --- a/qa/wildfly/build.gradle +++ b/qa/wildfly/build.gradle @@ -7,7 +7,8 @@ */ import org.elasticsearch.gradle.Architecture -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties +import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.DOCKER; apply plugin: 'war' apply plugin: 'elasticsearch.java' @@ -47,7 +48,7 @@ if (Architecture.current() == Architecture.X64) { elasticsearch_distributions { docker { - type = 'docker' + type = DOCKER architecture = Architecture.current() version = VersionProperties.getElasticsearch() failIfUnavailable = false // This ensures we skip this testing if Docker is unavailable diff --git a/test/external-modules/build.gradle b/test/external-modules/build.gradle index 68274506581f..396ecf5eb618 100644 --- a/test/external-modules/build.gradle +++ b/test/external-modules/build.gradle @@ -2,7 +2,7 @@ import org.elasticsearch.gradle.internal.info.BuildParams; subprojects { - apply plugin: 'elasticsearch.esplugin' + apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.yaml-rest-test' esplugin { diff --git a/x-pack/plugin/analytics/build.gradle b/x-pack/plugin/analytics/build.gradle index 34afb8672a12..d8dfabd66260 100644 --- a/x-pack/plugin/analytics/build.gradle +++ b/x-pack/plugin/analytics/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' esplugin { name 'x-pack-analytics' description 'Elasticsearch Expanded Pack Plugin - Analytics' diff --git a/x-pack/plugin/async-search/build.gradle b/x-pack/plugin/async-search/build.gradle index 4cf356b36a48..161710b49e3d 100644 --- a/x-pack/plugin/async-search/build.gradle +++ b/x-pack/plugin/async-search/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { name 'x-pack-async-search' diff --git a/x-pack/plugin/async-search/qa/rest/build.gradle b/x-pack/plugin/async-search/qa/rest/build.gradle index 96346f61e75d..63e2e3fea312 100644 --- a/x-pack/plugin/async-search/qa/rest/build.gradle +++ b/x-pack/plugin/async-search/qa/rest/build.gradle @@ -1,6 +1,6 @@ import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.yaml-rest-test' apply plugin: 'elasticsearch.yaml-rest-compat-test' diff --git a/x-pack/plugin/async/build.gradle b/x-pack/plugin/async/build.gradle index 9c860dcd73e9..e3ca21c257a4 100644 --- a/x-pack/plugin/async/build.gradle +++ b/x-pack/plugin/async/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' esplugin { name 'x-pack-async' diff --git a/x-pack/plugin/autoscaling/build.gradle b/x-pack/plugin/autoscaling/build.gradle index 53c36cbaedb9..4e1aa8e1d677 100644 --- a/x-pack/plugin/autoscaling/build.gradle +++ b/x-pack/plugin/autoscaling/build.gradle @@ -1,5 +1,5 @@ import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { diff --git a/x-pack/plugin/ccr/build.gradle b/x-pack/plugin/ccr/build.gradle index 1e53166ed8c7..b6e931977648 100644 --- a/x-pack/plugin/ccr/build.gradle +++ b/x-pack/plugin/ccr/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { name 'x-pack-ccr' diff --git a/x-pack/plugin/ccr/qa/downgrade-to-basic-license/build.gradle b/x-pack/plugin/ccr/qa/downgrade-to-basic-license/build.gradle index 3072e29069f3..9adab2440ee0 100644 --- a/x-pack/plugin/ccr/qa/downgrade-to-basic-license/build.gradle +++ b/x-pack/plugin/ccr/qa/downgrade-to-basic-license/build.gradle @@ -1,7 +1,7 @@ import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.internal.test.RestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' dependencies { diff --git a/x-pack/plugin/ccr/qa/multi-cluster/build.gradle b/x-pack/plugin/ccr/qa/multi-cluster/build.gradle index 9fabf5cc9488..e2e57e23d078 100644 --- a/x-pack/plugin/ccr/qa/multi-cluster/build.gradle +++ b/x-pack/plugin/ccr/qa/multi-cluster/build.gradle @@ -1,6 +1,6 @@ import org.elasticsearch.gradle.internal.test.RestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' dependencies { diff --git a/x-pack/plugin/ccr/qa/non-compliant-license/build.gradle b/x-pack/plugin/ccr/qa/non-compliant-license/build.gradle index eee3c91d1922..27b183cfb474 100644 --- a/x-pack/plugin/ccr/qa/non-compliant-license/build.gradle +++ b/x-pack/plugin/ccr/qa/non-compliant-license/build.gradle @@ -1,6 +1,6 @@ import org.elasticsearch.gradle.internal.test.RestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' dependencies { diff --git a/x-pack/plugin/ccr/qa/restart/build.gradle b/x-pack/plugin/ccr/qa/restart/build.gradle index 3fa08b8d40bc..26854cdeb294 100644 --- a/x-pack/plugin/ccr/qa/restart/build.gradle +++ b/x-pack/plugin/ccr/qa/restart/build.gradle @@ -1,7 +1,7 @@ import org.elasticsearch.gradle.internal.test.RestIntegTestTask import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' dependencies { diff --git a/x-pack/plugin/ccr/qa/security/build.gradle b/x-pack/plugin/ccr/qa/security/build.gradle index 3d7da8652939..db3dac6b3e54 100644 --- a/x-pack/plugin/ccr/qa/security/build.gradle +++ b/x-pack/plugin/ccr/qa/security/build.gradle @@ -1,6 +1,6 @@ import org.elasticsearch.gradle.internal.test.RestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' dependencies { diff --git a/x-pack/plugin/core/build.gradle b/x-pack/plugin/core/build.gradle index fe0bac508e39..2979d425076c 100644 --- a/x-pack/plugin/core/build.gradle +++ b/x-pack/plugin/core/build.gradle @@ -3,7 +3,7 @@ import org.elasticsearch.gradle.internal.info.BuildParams import java.nio.file.Paths -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.publish' apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.yaml-rest-test' diff --git a/x-pack/plugin/data-streams/build.gradle b/x-pack/plugin/data-streams/build.gradle index 30f8ffc03c5a..06dc0b9cdcae 100644 --- a/x-pack/plugin/data-streams/build.gradle +++ b/x-pack/plugin/data-streams/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { name 'x-pack-data-streams' diff --git a/x-pack/plugin/deprecation/build.gradle b/x-pack/plugin/deprecation/build.gradle index 5852610a534c..3e0c6a0943ac 100644 --- a/x-pack/plugin/deprecation/build.gradle +++ b/x-pack/plugin/deprecation/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' esplugin { name 'x-pack-deprecation' diff --git a/x-pack/plugin/deprecation/qa/rest/build.gradle b/x-pack/plugin/deprecation/qa/rest/build.gradle index b2145ef775e5..9ffaa4ca2675 100644 --- a/x-pack/plugin/deprecation/qa/rest/build.gradle +++ b/x-pack/plugin/deprecation/qa/rest/build.gradle @@ -1,7 +1,7 @@ import org.elasticsearch.gradle.util.GradleUtils import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.java-rest-test' esplugin { diff --git a/x-pack/plugin/enrich/build.gradle b/x-pack/plugin/enrich/build.gradle index 9ae887b3d86d..26f3ab4bd591 100644 --- a/x-pack/plugin/enrich/build.gradle +++ b/x-pack/plugin/enrich/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { name 'x-pack-enrich' diff --git a/x-pack/plugin/eql/build.gradle b/x-pack/plugin/eql/build.gradle index 85bde933306f..e7d31ad7c702 100644 --- a/x-pack/plugin/eql/build.gradle +++ b/x-pack/plugin/eql/build.gradle @@ -1,5 +1,5 @@ import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { name 'x-pack-eql' diff --git a/x-pack/plugin/eql/qa/correctness/build.gradle b/x-pack/plugin/eql/qa/correctness/build.gradle index d0f175155d6d..9782cbca220d 100644 --- a/x-pack/plugin/eql/qa/correctness/build.gradle +++ b/x-pack/plugin/eql/qa/correctness/build.gradle @@ -1,6 +1,6 @@ apply plugin: 'elasticsearch.java-rest-test' apply plugin: 'elasticsearch.build' -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' tasks.named("test").configure { enabled = false } import org.elasticsearch.gradle.testclusters.RunTask diff --git a/x-pack/plugin/eql/qa/mixed-node/build.gradle b/x-pack/plugin/eql/qa/mixed-node/build.gradle index 41aa209a56c2..bb1c3516d248 100644 --- a/x-pack/plugin/eql/qa/mixed-node/build.gradle +++ b/x-pack/plugin/eql/qa/mixed-node/build.gradle @@ -1,10 +1,10 @@ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.bwc-test' apply plugin: 'elasticsearch.rest-test' import org.elasticsearch.gradle.Version -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask diff --git a/x-pack/plugin/fleet/build.gradle b/x-pack/plugin/fleet/build.gradle index 8c3f3e7d1b69..fecc258a16e8 100644 --- a/x-pack/plugin/fleet/build.gradle +++ b/x-pack/plugin/fleet/build.gradle @@ -5,7 +5,7 @@ * 2.0. */ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.java-rest-test' diff --git a/x-pack/plugin/frozen-indices/build.gradle b/x-pack/plugin/frozen-indices/build.gradle index 418e10b6d476..169b02584f5f 100644 --- a/x-pack/plugin/frozen-indices/build.gradle +++ b/x-pack/plugin/frozen-indices/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { name 'frozen-indices' diff --git a/x-pack/plugin/graph/build.gradle b/x-pack/plugin/graph/build.gradle index 22f321e98feb..839bb68c6a4b 100644 --- a/x-pack/plugin/graph/build.gradle +++ b/x-pack/plugin/graph/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { name 'x-pack-graph' diff --git a/x-pack/plugin/identity-provider/build.gradle b/x-pack/plugin/identity-provider/build.gradle index c0f6fb8ff0ef..7b0af04e0a12 100644 --- a/x-pack/plugin/identity-provider/build.gradle +++ b/x-pack/plugin/identity-provider/build.gradle @@ -1,5 +1,5 @@ import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.publish' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { diff --git a/x-pack/plugin/ilm/build.gradle b/x-pack/plugin/ilm/build.gradle index 8c536f8b1d33..b88085065792 100644 --- a/x-pack/plugin/ilm/build.gradle +++ b/x-pack/plugin/ilm/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { diff --git a/x-pack/plugin/ilm/qa/multi-cluster/build.gradle b/x-pack/plugin/ilm/qa/multi-cluster/build.gradle index f7096984ef1e..54e61c11be38 100644 --- a/x-pack/plugin/ilm/qa/multi-cluster/build.gradle +++ b/x-pack/plugin/ilm/qa/multi-cluster/build.gradle @@ -1,7 +1,7 @@ import org.elasticsearch.gradle.internal.test.RestIntegTestTask import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' dependencies { diff --git a/x-pack/plugin/logstash/build.gradle b/x-pack/plugin/logstash/build.gradle index 9a3649b2e3b0..6d1ab3f57d2f 100644 --- a/x-pack/plugin/logstash/build.gradle +++ b/x-pack/plugin/logstash/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.java-rest-test' esplugin { diff --git a/x-pack/plugin/mapper-aggregate-metric/build.gradle b/x-pack/plugin/mapper-aggregate-metric/build.gradle index 386c601ba155..6dfe2d5049ce 100644 --- a/x-pack/plugin/mapper-aggregate-metric/build.gradle +++ b/x-pack/plugin/mapper-aggregate-metric/build.gradle @@ -7,7 +7,7 @@ evaluationDependsOn(xpackModule('core')) -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' esplugin { name 'x-pack-aggregate-metric' diff --git a/x-pack/plugin/mapper-constant-keyword/build.gradle b/x-pack/plugin/mapper-constant-keyword/build.gradle index 7c5c858f8414..3b8089351575 100644 --- a/x-pack/plugin/mapper-constant-keyword/build.gradle +++ b/x-pack/plugin/mapper-constant-keyword/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { diff --git a/x-pack/plugin/mapper-unsigned-long/build.gradle b/x-pack/plugin/mapper-unsigned-long/build.gradle index c6f3b3d3aa22..609cab576f80 100644 --- a/x-pack/plugin/mapper-unsigned-long/build.gradle +++ b/x-pack/plugin/mapper-unsigned-long/build.gradle @@ -7,7 +7,7 @@ evaluationDependsOn(xpackModule('core')) -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' esplugin { name 'unsigned-long' diff --git a/x-pack/plugin/mapper-version/build.gradle b/x-pack/plugin/mapper-version/build.gradle index adaa4c7621a8..557d43c0d9f1 100644 --- a/x-pack/plugin/mapper-version/build.gradle +++ b/x-pack/plugin/mapper-version/build.gradle @@ -1,6 +1,6 @@ evaluationDependsOn(xpackModule('core')) -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { diff --git a/x-pack/plugin/ml/build.gradle b/x-pack/plugin/ml/build.gradle index 573f2958987f..1a503f3b4562 100644 --- a/x-pack/plugin/ml/build.gradle +++ b/x-pack/plugin/ml/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-test-artifact' diff --git a/x-pack/plugin/monitoring/build.gradle b/x-pack/plugin/monitoring/build.gradle index 9262ee740cab..647b0c04dd0a 100644 --- a/x-pack/plugin/monitoring/build.gradle +++ b/x-pack/plugin/monitoring/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-test-artifact' diff --git a/x-pack/plugin/ql/build.gradle b/x-pack/plugin/ql/build.gradle index 820b13e1c774..352ad41a667a 100644 --- a/x-pack/plugin/ql/build.gradle +++ b/x-pack/plugin/ql/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-test-artifact' esplugin { diff --git a/x-pack/plugin/repositories-metering-api/build.gradle b/x-pack/plugin/repositories-metering-api/build.gradle index 620b3e79a2b9..68431fd7096c 100644 --- a/x-pack/plugin/repositories-metering-api/build.gradle +++ b/x-pack/plugin/repositories-metering-api/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-test-artifact' esplugin { diff --git a/x-pack/plugin/repository-encrypted/build.gradle b/x-pack/plugin/repository-encrypted/build.gradle index 2db82b4cf083..71c8acf335e3 100644 --- a/x-pack/plugin/repository-encrypted/build.gradle +++ b/x-pack/plugin/repository-encrypted/build.gradle @@ -1,6 +1,6 @@ evaluationDependsOn(xpackModule('core')) -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { name 'repository-encrypted' diff --git a/x-pack/plugin/rollup/build.gradle b/x-pack/plugin/rollup/build.gradle index 6cd764827758..f825239e4c6e 100644 --- a/x-pack/plugin/rollup/build.gradle +++ b/x-pack/plugin/rollup/build.gradle @@ -1,6 +1,6 @@ import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' esplugin { name 'x-pack-rollup' description 'Elasticsearch Expanded Pack Plugin - Rollup' diff --git a/x-pack/plugin/search-business-rules/build.gradle b/x-pack/plugin/search-business-rules/build.gradle index ac3545c8ce75..f3a062c6eef2 100644 --- a/x-pack/plugin/search-business-rules/build.gradle +++ b/x-pack/plugin/search-business-rules/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { diff --git a/x-pack/plugin/searchable-snapshots/build.gradle b/x-pack/plugin/searchable-snapshots/build.gradle index 9f3773d293a1..4504535e4a12 100644 --- a/x-pack/plugin/searchable-snapshots/build.gradle +++ b/x-pack/plugin/searchable-snapshots/build.gradle @@ -1,5 +1,5 @@ apply plugin: 'elasticsearch.internal-cluster-test' -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-test-artifact' esplugin { diff --git a/x-pack/plugin/security/build.gradle b/x-pack/plugin/security/build.gradle index 4c43dfb10cf1..1785a69e20fc 100644 --- a/x-pack/plugin/security/build.gradle +++ b/x-pack/plugin/security/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.publish' apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-test-artifact' diff --git a/x-pack/plugin/security/qa/operator-privileges-tests/build.gradle b/x-pack/plugin/security/qa/operator-privileges-tests/build.gradle index c0aef8121b9d..5fa59af0afaf 100644 --- a/x-pack/plugin/security/qa/operator-privileges-tests/build.gradle +++ b/x-pack/plugin/security/qa/operator-privileges-tests/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.java-rest-test' esplugin { diff --git a/x-pack/plugin/shutdown/build.gradle b/x-pack/plugin/shutdown/build.gradle index dc8f29c7c17b..9c4fdfeb1b0b 100644 --- a/x-pack/plugin/shutdown/build.gradle +++ b/x-pack/plugin/shutdown/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { diff --git a/x-pack/plugin/snapshot-repo-test-kit/build.gradle b/x-pack/plugin/snapshot-repo-test-kit/build.gradle index 142c2d198d76..a19a05024e61 100644 --- a/x-pack/plugin/snapshot-repo-test-kit/build.gradle +++ b/x-pack/plugin/snapshot-repo-test-kit/build.gradle @@ -1,5 +1,5 @@ apply plugin: 'elasticsearch.internal-cluster-test' -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-test-artifact' esplugin { diff --git a/x-pack/plugin/snapshot-repo-test-kit/qa/rest/build.gradle b/x-pack/plugin/snapshot-repo-test-kit/qa/rest/build.gradle index 9572362314f7..8d5b307e4201 100644 --- a/x-pack/plugin/snapshot-repo-test-kit/qa/rest/build.gradle +++ b/x-pack/plugin/snapshot-repo-test-kit/qa/rest/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/x-pack/plugin/spatial/build.gradle b/x-pack/plugin/spatial/build.gradle index ca9ddaa37ac4..9169e7f4c41e 100644 --- a/x-pack/plugin/spatial/build.gradle +++ b/x-pack/plugin/spatial/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.yaml-rest-test' apply plugin: 'elasticsearch.yaml-rest-compat-test' diff --git a/x-pack/plugin/sql/build.gradle b/x-pack/plugin/sql/build.gradle index 3da4a0cc0e35..0d1e068c642e 100644 --- a/x-pack/plugin/sql/build.gradle +++ b/x-pack/plugin/sql/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' import org.elasticsearch.gradle.internal.info.BuildParams diff --git a/x-pack/plugin/sql/qa/jdbc/build.gradle b/x-pack/plugin/sql/qa/jdbc/build.gradle index 1232eb4a931f..678b3489762e 100644 --- a/x-pack/plugin/sql/qa/jdbc/build.gradle +++ b/x-pack/plugin/sql/qa/jdbc/build.gradle @@ -1,6 +1,6 @@ import org.elasticsearch.gradle.internal.BwcVersions.UnreleasedVersionInfo import org.elasticsearch.gradle.Version -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.internal.test.RestIntegTestTask @@ -56,7 +56,7 @@ subprojects { if (project.name != 'security') { // The security project just configures its subprojects - apply plugin: 'elasticsearch.testclusters' + apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.rest-test' testClusters.all { diff --git a/x-pack/plugin/sql/qa/mixed-node/build.gradle b/x-pack/plugin/sql/qa/mixed-node/build.gradle index ca1f6707803e..0c0869cd4d57 100644 --- a/x-pack/plugin/sql/qa/mixed-node/build.gradle +++ b/x-pack/plugin/sql/qa/mixed-node/build.gradle @@ -1,10 +1,10 @@ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.bwc-test' apply plugin: 'elasticsearch.rest-test' import org.elasticsearch.gradle.Version -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask diff --git a/x-pack/plugin/sql/qa/server/build.gradle b/x-pack/plugin/sql/qa/server/build.gradle index 7ab0c22a5460..29441461ca58 100644 --- a/x-pack/plugin/sql/qa/server/build.gradle +++ b/x-pack/plugin/sql/qa/server/build.gradle @@ -103,7 +103,7 @@ subprojects { if (project.name != 'security') { // The security project just configures its subprojects - apply plugin: 'elasticsearch.testclusters' + apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.rest-test' testClusters.matching { it.name == "integTest" }.configureEach { diff --git a/x-pack/plugin/stack/build.gradle b/x-pack/plugin/stack/build.gradle index dabfb887a60a..f40b2987afb2 100644 --- a/x-pack/plugin/stack/build.gradle +++ b/x-pack/plugin/stack/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' esplugin { name 'x-pack-stack' diff --git a/x-pack/plugin/text-structure/build.gradle b/x-pack/plugin/text-structure/build.gradle index 085547989ee9..4c9d3552f7e3 100644 --- a/x-pack/plugin/text-structure/build.gradle +++ b/x-pack/plugin/text-structure/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' esplugin { name 'x-pack-text-structure' description 'Elasticsearch Expanded Pack Plugin - Text Structure' diff --git a/x-pack/plugin/transform/build.gradle b/x-pack/plugin/transform/build.gradle index d5a2484e66c3..28b4e9e342bc 100644 --- a/x-pack/plugin/transform/build.gradle +++ b/x-pack/plugin/transform/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { name 'transform' diff --git a/x-pack/plugin/transform/qa/multi-cluster-tests-with-security/build.gradle b/x-pack/plugin/transform/qa/multi-cluster-tests-with-security/build.gradle index 89515069d054..b3c3d17aba65 100644 --- a/x-pack/plugin/transform/qa/multi-cluster-tests-with-security/build.gradle +++ b/x-pack/plugin/transform/qa/multi-cluster-tests-with-security/build.gradle @@ -1,6 +1,6 @@ import org.elasticsearch.gradle.internal.test.RestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/x-pack/plugin/vectors/build.gradle b/x-pack/plugin/vectors/build.gradle index 214497d83786..f5d655d66fb3 100644 --- a/x-pack/plugin/vectors/build.gradle +++ b/x-pack/plugin/vectors/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { diff --git a/x-pack/plugin/voting-only-node/build.gradle b/x-pack/plugin/voting-only-node/build.gradle index 3bff80d995d5..e3895c35455f 100644 --- a/x-pack/plugin/voting-only-node/build.gradle +++ b/x-pack/plugin/voting-only-node/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { name 'x-pack-voting-only-node' diff --git a/x-pack/plugin/watcher/build.gradle b/x-pack/plugin/watcher/build.gradle index 0096a9549eb1..c03fa35f5568 100644 --- a/x-pack/plugin/watcher/build.gradle +++ b/x-pack/plugin/watcher/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' esplugin { name 'x-pack-watcher' diff --git a/x-pack/plugin/wildcard/build.gradle b/x-pack/plugin/wildcard/build.gradle index 79528c64b394..2c7c1d877d20 100644 --- a/x-pack/plugin/wildcard/build.gradle +++ b/x-pack/plugin/wildcard/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' esplugin { name 'wildcard' diff --git a/x-pack/qa/core-rest-tests-with-security/build.gradle b/x-pack/qa/core-rest-tests-with-security/build.gradle index d00e662a91a7..80414934c7b4 100644 --- a/x-pack/qa/core-rest-tests-with-security/build.gradle +++ b/x-pack/qa/core-rest-tests-with-security/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/x-pack/qa/full-cluster-restart/build.gradle b/x-pack/qa/full-cluster-restart/build.gradle index 03b06fc18fe5..66751352874b 100644 --- a/x-pack/qa/full-cluster-restart/build.gradle +++ b/x-pack/qa/full-cluster-restart/build.gradle @@ -2,7 +2,7 @@ import org.elasticsearch.gradle.Version import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' apply plugin: 'elasticsearch.bwc-test' diff --git a/x-pack/qa/kerberos-tests/build.gradle b/x-pack/qa/kerberos-tests/build.gradle index 2c0edc01418a..23040f5725ed 100644 --- a/x-pack/qa/kerberos-tests/build.gradle +++ b/x-pack/qa/kerberos-tests/build.gradle @@ -1,7 +1,7 @@ import java.nio.file.Path import java.nio.file.Paths -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.test.fixtures' diff --git a/x-pack/qa/mixed-tier-cluster/build.gradle b/x-pack/qa/mixed-tier-cluster/build.gradle index 6b3c0ddf732e..d8c4568b6b2f 100644 --- a/x-pack/qa/mixed-tier-cluster/build.gradle +++ b/x-pack/qa/mixed-tier-cluster/build.gradle @@ -1,10 +1,10 @@ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.bwc-test' apply plugin: 'elasticsearch.rest-test' import org.elasticsearch.gradle.Version -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask diff --git a/x-pack/qa/multi-cluster-search-security/build.gradle b/x-pack/qa/multi-cluster-search-security/build.gradle index 498daacfaa21..7dd1b3816632 100644 --- a/x-pack/qa/multi-cluster-search-security/build.gradle +++ b/x-pack/qa/multi-cluster-search-security/build.gradle @@ -1,7 +1,7 @@ import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.internal.test.RestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/x-pack/qa/multi-node/build.gradle b/x-pack/qa/multi-node/build.gradle index 35e90a23e817..17f70842d0e8 100644 --- a/x-pack/qa/multi-node/build.gradle +++ b/x-pack/qa/multi-node/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' diff --git a/x-pack/qa/oidc-op-tests/build.gradle b/x-pack/qa/oidc-op-tests/build.gradle index 72d94c439603..37e877e20977 100644 --- a/x-pack/qa/oidc-op-tests/build.gradle +++ b/x-pack/qa/oidc-op-tests/build.gradle @@ -2,7 +2,7 @@ import org.elasticsearch.gradle.Architecture Project idpFixtureProject = xpackProject("test:idp-fixture") -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.test.fixtures' diff --git a/x-pack/qa/password-protected-keystore/build.gradle b/x-pack/qa/password-protected-keystore/build.gradle index 6204d5aaf620..883c6d3b47e1 100644 --- a/x-pack/qa/password-protected-keystore/build.gradle +++ b/x-pack/qa/password-protected-keystore/build.gradle @@ -3,7 +3,7 @@ * is using a password protected keystore in its nodes. */ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' dependencies { diff --git a/x-pack/qa/reindex-tests-with-security/build.gradle b/x-pack/qa/reindex-tests-with-security/build.gradle index 977f95e64220..e30368f4e009 100644 --- a/x-pack/qa/reindex-tests-with-security/build.gradle +++ b/x-pack/qa/reindex-tests-with-security/build.gradle @@ -1,6 +1,6 @@ import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/x-pack/qa/rolling-upgrade-basic/build.gradle b/x-pack/qa/rolling-upgrade-basic/build.gradle index ba227538d545..6ca6ffd0febb 100644 --- a/x-pack/qa/rolling-upgrade-basic/build.gradle +++ b/x-pack/qa/rolling-upgrade-basic/build.gradle @@ -2,7 +2,7 @@ import org.elasticsearch.gradle.Version import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' apply plugin: 'elasticsearch.bwc-test' diff --git a/x-pack/qa/rolling-upgrade-multi-cluster/build.gradle b/x-pack/qa/rolling-upgrade-multi-cluster/build.gradle index a90421991fad..def51537e1f5 100644 --- a/x-pack/qa/rolling-upgrade-multi-cluster/build.gradle +++ b/x-pack/qa/rolling-upgrade-multi-cluster/build.gradle @@ -2,7 +2,7 @@ import org.elasticsearch.gradle.Version import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' apply plugin: 'elasticsearch.bwc-test' diff --git a/x-pack/qa/rolling-upgrade/build.gradle b/x-pack/qa/rolling-upgrade/build.gradle index cd2ac1b7398d..70ef249e3310 100644 --- a/x-pack/qa/rolling-upgrade/build.gradle +++ b/x-pack/qa/rolling-upgrade/build.gradle @@ -2,7 +2,7 @@ import org.elasticsearch.gradle.Version import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-test' apply plugin: 'elasticsearch.bwc-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/x-pack/qa/saml-idp-tests/build.gradle b/x-pack/qa/saml-idp-tests/build.gradle index 92593e17ff94..03cbeae17717 100644 --- a/x-pack/qa/saml-idp-tests/build.gradle +++ b/x-pack/qa/saml-idp-tests/build.gradle @@ -2,7 +2,7 @@ import org.elasticsearch.gradle.Architecture Project idpFixtureProject = xpackProject("test:idp-fixture") -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.test.fixtures' diff --git a/x-pack/qa/security-example-spi-extension/build.gradle b/x-pack/qa/security-example-spi-extension/build.gradle index 3a597e880e9b..b15bd373750a 100644 --- a/x-pack/qa/security-example-spi-extension/build.gradle +++ b/x-pack/qa/security-example-spi-extension/build.gradle @@ -1,7 +1,7 @@ import org.elasticsearch.gradle.util.GradleUtils apply plugin: 'elasticsearch.java-rest-test' -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' esplugin { name 'spi-extension' diff --git a/x-pack/qa/security-setup-password-tests/build.gradle b/x-pack/qa/security-setup-password-tests/build.gradle index ce527c2a9878..08013261ba44 100644 --- a/x-pack/qa/security-setup-password-tests/build.gradle +++ b/x-pack/qa/security-setup-password-tests/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' diff --git a/x-pack/qa/smoke-test-plugins-ssl/build.gradle b/x-pack/qa/smoke-test-plugins-ssl/build.gradle index b2274f8f4721..e545a3bc3f4b 100644 --- a/x-pack/qa/smoke-test-plugins-ssl/build.gradle +++ b/x-pack/qa/smoke-test-plugins-ssl/build.gradle @@ -2,7 +2,7 @@ import org.elasticsearch.gradle.internal.MavenFilteringHack import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/x-pack/qa/smoke-test-plugins/build.gradle b/x-pack/qa/smoke-test-plugins/build.gradle index 60845deb9b03..74fe40051381 100644 --- a/x-pack/qa/smoke-test-plugins/build.gradle +++ b/x-pack/qa/smoke-test-plugins/build.gradle @@ -1,7 +1,7 @@ import org.elasticsearch.gradle.internal.MavenFilteringHack import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/x-pack/qa/smoke-test-security-with-mustache/build.gradle b/x-pack/qa/smoke-test-security-with-mustache/build.gradle index ca76caf5c755..2e9276d27272 100644 --- a/x-pack/qa/smoke-test-security-with-mustache/build.gradle +++ b/x-pack/qa/smoke-test-security-with-mustache/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/x-pack/qa/third-party/jira/build.gradle b/x-pack/qa/third-party/jira/build.gradle index 7c39714b00ef..8a39f061f2de 100644 --- a/x-pack/qa/third-party/jira/build.gradle +++ b/x-pack/qa/third-party/jira/build.gradle @@ -5,7 +5,7 @@ import java.nio.charset.StandardCharsets import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/x-pack/qa/third-party/pagerduty/build.gradle b/x-pack/qa/third-party/pagerduty/build.gradle index 967a6dca6e80..12d0f06edf77 100644 --- a/x-pack/qa/third-party/pagerduty/build.gradle +++ b/x-pack/qa/third-party/pagerduty/build.gradle @@ -1,6 +1,6 @@ import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/x-pack/qa/third-party/slack/build.gradle b/x-pack/qa/third-party/slack/build.gradle index addc48925541..46092bb660e0 100644 --- a/x-pack/qa/third-party/slack/build.gradle +++ b/x-pack/qa/third-party/slack/build.gradle @@ -1,6 +1,6 @@ import org.elasticsearch.gradle.internal.info.BuildParams -apply plugin: 'elasticsearch.testclusters' +apply plugin: 'elasticsearch.internal-testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' apply plugin: 'elasticsearch.rest-resources' diff --git a/x-pack/quota-aware-fs/build.gradle b/x-pack/quota-aware-fs/build.gradle index f858c2b9bbec..90dceb82b07c 100644 --- a/x-pack/quota-aware-fs/build.gradle +++ b/x-pack/quota-aware-fs/build.gradle @@ -1,4 +1,4 @@ -apply plugin: 'elasticsearch.esplugin' +apply plugin: 'elasticsearch.internal-es-plugin' esplugin { description 'A bootstrap plugin that adds support for interfacing with filesystem that enforce user quotas.' diff --git a/x-pack/test/idp-fixture/build.gradle b/x-pack/test/idp-fixture/build.gradle index cd435c1c55ca..c41ff7729ed7 100644 --- a/x-pack/test/idp-fixture/build.gradle +++ b/x-pack/test/idp-fixture/build.gradle @@ -1,5 +1,6 @@ -import org.elasticsearch.gradle.internal.VersionProperties +import org.elasticsearch.gradle.VersionProperties import org.elasticsearch.gradle.Architecture +import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.DOCKER; apply plugin: 'elasticsearch.test.fixtures' apply plugin: 'elasticsearch.internal-distribution-download' @@ -16,7 +17,7 @@ tasks.register("copyKeystore", Sync) { elasticsearch_distributions { docker { - type = 'docker' + type = DOCKER architecture = Architecture.current() version = VersionProperties.getElasticsearch() failIfUnavailable = false // This ensures we skip this testing if Docker is unavailable