[7.17] Fix custom naming on plugin based DRA maven artifacts (#129622)

This commit is contained in:
Rene Groeschke 2025-06-18 15:47:09 +02:00 committed by GitHub
parent 68e58c4990
commit 580aff1a00
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 39 additions and 23 deletions

View file

@ -23,6 +23,7 @@ import org.gradle.api.NamedDomainObjectSet;
import org.gradle.api.Plugin; import org.gradle.api.Plugin;
import org.gradle.api.Project; import org.gradle.api.Project;
import org.gradle.api.XmlProvider; import org.gradle.api.XmlProvider;
import org.gradle.api.component.SoftwareComponent;
import org.gradle.api.file.ProjectLayout; import org.gradle.api.file.ProjectLayout;
import org.gradle.api.plugins.BasePlugin; import org.gradle.api.plugins.BasePlugin;
import org.gradle.api.plugins.BasePluginExtension; import org.gradle.api.plugins.BasePluginExtension;
@ -82,7 +83,8 @@ public class PublishPlugin implements Plugin<Project> {
if (project1.getPlugins().hasPlugin(ShadowPlugin.class)) { if (project1.getPlugins().hasPlugin(ShadowPlugin.class)) {
configureWithShadowPlugin(project1, publication); configureWithShadowPlugin(project1, publication);
} else if (project1.getPlugins().hasPlugin(JavaPlugin.class)) { } else if (project1.getPlugins().hasPlugin(JavaPlugin.class)) {
publication.from(project.getComponents().getByName("java")); SoftwareComponent java = project.getComponents().getByName("java");
publication.from(java);
} }
}); });
project.getPlugins().withType(JavaPlugin.class, plugin -> { project.getPlugins().withType(JavaPlugin.class, plugin -> {

View file

@ -144,25 +144,28 @@ public class PluginBuildPlugin implements Plugin<Project> {
} }
private static void configurePublishing(Project project, PluginPropertiesExtension extension) { private static void configurePublishing(Project project, PluginPropertiesExtension extension) {
if (project.getPlugins().hasPlugin(MavenPublishPlugin.class)) { project.getPlugins().withType(MavenPublishPlugin.class).configureEach(plugin -> {
PublishingExtension publishingExtension = project.getExtensions().getByType(PublishingExtension.class); project.afterEvaluate(project1 -> {
MavenPublication elastic = publishingExtension.getPublications().maybeCreate("elastic", MavenPublication.class); PublishingExtension publishingExtension = project.getExtensions().getByType(PublishingExtension.class);
if (extension.isHasClientJar()) { MavenPublication elastic = publishingExtension.getPublications().maybeCreate("elastic", MavenPublication.class);
project.getTasks() if (extension.isHasClientJar()) {
.withType(Jar.class) project.getTasks()
.configureEach(jar -> jar.getArchiveBaseName().set(jar.getArchiveBaseName().get() + "-client")); .withType(Jar.class)
project.getTasks().withType(GenerateMavenPom.class).configureEach(pomTask -> { .configureEach(jar -> jar.getArchiveBaseName().set(jar.getArchiveBaseName().get() + "-client"));
final BasePluginExtension basepluginExtension = project.getExtensions().getByType(BasePluginExtension.class); project.getTasks().withType(GenerateMavenPom.class).configureEach(pomTask -> {
String archivesName = basepluginExtension.getArchivesName().get(); final BasePluginExtension basepluginExtension = project.getExtensions().getByType(BasePluginExtension.class);
pomTask.setDestination( String archivesName = basepluginExtension.getArchivesName().get();
new File(project.getBuildDir(), "/distributions/" + archivesName + "-client-" + project.getVersion() + ".pom") pomTask.setDestination(
); new File(project.getBuildDir(), "/distributions/" + archivesName + "-client-" + project.getVersion() + ".pom")
}); );
elastic.setArtifactId(extension.getName() + "-client"); });
} else { publishingExtension.getPublications().withType(MavenPublication.class).configureEach(publication -> {
elastic.setArtifactId(extension.getName()); publication.setArtifactId(extension.getName() + "-client");
} });
} publishingExtension.repositories(repositories -> {});
}
});
});
} }
private static void configureDependencies(final Project project) { private static void configureDependencies(final Project project) {

View file

@ -6,6 +6,7 @@
* Side Public License, v 1. * Side Public License, v 1.
*/ */
apply plugin: 'elasticsearch.legacy-yaml-rest-test' apply plugin: 'elasticsearch.legacy-yaml-rest-test'
apply plugin: 'elasticsearch.publish'
esplugin { esplugin {
description 'Adds aggregations whose input are a list of numeric fields and output includes a matrix.' description 'Adds aggregations whose input are a list of numeric fields and output includes a matrix.'

View file

@ -8,6 +8,7 @@
apply plugin: 'elasticsearch.legacy-yaml-rest-test' apply plugin: 'elasticsearch.legacy-yaml-rest-test'
apply plugin: 'elasticsearch.legacy-java-rest-test' apply plugin: 'elasticsearch.legacy-java-rest-test'
apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-cluster-test'
apply plugin: 'elasticsearch.publish'
esplugin { esplugin {
description 'Mustache scripting integration for Elasticsearch' description 'Mustache scripting integration for Elasticsearch'

View file

@ -7,6 +7,7 @@
*/ */
apply plugin: 'elasticsearch.legacy-yaml-rest-test' apply plugin: 'elasticsearch.legacy-yaml-rest-test'
apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-cluster-test'
apply plugin: 'elasticsearch.publish'
esplugin { esplugin {
description 'Adds advanced field mappers' description 'Adds advanced field mappers'

View file

@ -7,6 +7,8 @@
*/ */
apply plugin: 'elasticsearch.legacy-yaml-rest-test' apply plugin: 'elasticsearch.legacy-yaml-rest-test'
apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-cluster-test'
apply plugin: 'elasticsearch.publish'
esplugin { esplugin {
description 'This module adds the support parent-child queries and aggregations' description 'This module adds the support parent-child queries and aggregations'

View file

@ -7,6 +7,7 @@
*/ */
apply plugin: 'elasticsearch.legacy-yaml-rest-test' apply plugin: 'elasticsearch.legacy-yaml-rest-test'
apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-cluster-test'
apply plugin: 'elasticsearch.publish'
esplugin { esplugin {
description 'Percolator module adds capability to index queries and query these queries by specifying documents' description 'Percolator module adds capability to index queries and query these queries by specifying documents'

View file

@ -7,6 +7,7 @@
*/ */
apply plugin: 'elasticsearch.legacy-yaml-rest-test' apply plugin: 'elasticsearch.legacy-yaml-rest-test'
apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-cluster-test'
apply plugin: 'elasticsearch.publish'
esplugin { esplugin {
description 'The Rank Eval module adds APIs to evaluate ranking quality.' description 'The Rank Eval module adds APIs to evaluate ranking quality.'

View file

@ -19,6 +19,7 @@ apply plugin: 'elasticsearch.jdk-download'
apply plugin: 'elasticsearch.legacy-yaml-rest-test' apply plugin: 'elasticsearch.legacy-yaml-rest-test'
apply plugin: 'elasticsearch.legacy-java-rest-test' apply plugin: 'elasticsearch.legacy-java-rest-test'
apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-cluster-test'
apply plugin: 'elasticsearch.publish'
esplugin { esplugin {
description 'The Reindex module adds APIs to reindex from one index to another or update documents in place.' description 'The Reindex module adds APIs to reindex from one index to another or update documents in place.'

View file

@ -13,6 +13,7 @@ import org.elasticsearch.gradle.internal.test.InternalClusterTestPlugin
apply plugin: 'elasticsearch.legacy-yaml-rest-test' apply plugin: 'elasticsearch.legacy-yaml-rest-test'
apply plugin: 'elasticsearch.legacy-java-rest-test' apply plugin: 'elasticsearch.legacy-java-rest-test'
apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-cluster-test'
apply plugin: 'elasticsearch.publish'
/* /*
TODOs: TODOs:

View file

@ -9,6 +9,7 @@ import de.thetaphi.forbiddenapis.gradle.CheckForbiddenApis
*/ */
apply plugin: 'elasticsearch.legacy-yaml-rest-test' apply plugin: 'elasticsearch.legacy-yaml-rest-test'
apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-cluster-test'
apply plugin: 'elasticsearch.publish'
esplugin { esplugin {
description 'The ICU Analysis plugin integrates the Lucene ICU module into Elasticsearch, adding ICU-related analysis components.' description 'The ICU Analysis plugin integrates the Lucene ICU module into Elasticsearch, adding ICU-related analysis components.'

View file

@ -14,7 +14,6 @@ subprojects {
configure(subprojects.findAll { it.parent.path == project.path }) { configure(subprojects.findAll { it.parent.path == project.path }) {
group = 'org.elasticsearch.plugin' group = 'org.elasticsearch.plugin'
apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-es-plugin'
apply plugin: 'elasticsearch.publish'
esplugin { esplugin {
// for local ES plugins, the name of the plugin is the same as the directory // for local ES plugins, the name of the plugin is the same as the directory

View file

@ -9,6 +9,7 @@ import org.elasticsearch.gradle.internal.info.BuildParams
*/ */
apply plugin: "elasticsearch.publish" apply plugin: "elasticsearch.publish"
apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-cluster-test'
apply plugin: 'elasticsearch.publish'
esplugin { esplugin {
description 'The nio transport.' description 'The nio transport.'

View file

@ -1,6 +1,5 @@
import org.elasticsearch.gradle.internal.info.BuildParams import org.elasticsearch.gradle.internal.info.BuildParams
apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-es-plugin'
apply plugin: 'elasticsearch.publish'
apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-cluster-test'
esplugin { esplugin {
name 'x-pack-identity-provider' name 'x-pack-identity-provider'

View file

@ -1,4 +1,6 @@
apply plugin: 'elasticsearch.build' apply plugin: 'elasticsearch.build'
apply plugin: 'elasticsearch.publish'
group = 'org.elasticsearch.client' group = 'org.elasticsearch.client'
base { base {
@ -27,4 +29,4 @@ tasks.named("forbiddenApisTest").configure {
tasks.named('testTestingConventions').configure { tasks.named('testTestingConventions').configure {
baseClass 'com.carrotsearch.randomizedtesting.RandomizedTest' baseClass 'com.carrotsearch.randomizedtesting.RandomizedTest'
} }