diff --git a/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy b/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy index 0cd869ddf6a87..5b745fca8128b 100644 --- a/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy +++ b/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy @@ -27,7 +27,6 @@ import nebula.plugin.info.InfoBrokerPlugin import org.apache.commons.io.IOUtils import org.elasticsearch.gradle.info.BuildParams import org.elasticsearch.gradle.info.GlobalBuildInfoPlugin -import org.elasticsearch.gradle.info.JavaHome import org.elasticsearch.gradle.plugin.PluginBuildPlugin import org.elasticsearch.gradle.precommit.DependencyLicensesTask import org.elasticsearch.gradle.precommit.PrecommitTasks @@ -56,13 +55,11 @@ import org.gradle.api.artifacts.repositories.IvyPatternRepositoryLayout import org.gradle.api.artifacts.repositories.MavenArtifactRepository import org.gradle.api.credentials.HttpHeaderCredentials import org.gradle.api.execution.TaskActionListener -import org.gradle.api.execution.TaskExecutionGraph import org.gradle.api.file.CopySpec import org.gradle.api.plugins.BasePlugin import org.gradle.api.plugins.BasePluginConvention import org.gradle.api.plugins.ExtraPropertiesExtension import org.gradle.api.plugins.JavaPlugin -import org.gradle.api.plugins.JavaPluginExtension import org.gradle.api.publish.PublishingExtension import org.gradle.api.publish.maven.MavenPublication import org.gradle.api.publish.maven.plugins.MavenPublishPlugin @@ -71,16 +68,13 @@ import org.gradle.api.tasks.SourceSet import org.gradle.api.tasks.SourceSetContainer import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.bundling.Jar -import org.gradle.api.tasks.compile.GroovyCompile import org.gradle.api.tasks.compile.JavaCompile import org.gradle.api.tasks.javadoc.Javadoc import org.gradle.api.tasks.testing.Test -import org.gradle.api.tasks.testing.logging.TestLoggingContainer import org.gradle.authentication.http.HttpHeaderAuthentication import org.gradle.external.javadoc.CoreJavadocOptions import org.gradle.internal.jvm.Jvm import org.gradle.language.base.plugins.LifecycleBasePlugin -import org.gradle.process.CommandLineArgumentProvider import org.gradle.util.GradleVersion import java.nio.charset.StandardCharsets @@ -313,6 +307,16 @@ class BuildPlugin implements Plugin { /**Configuration generation of maven poms. */ static void configurePomGeneration(Project project) { + // have to defer this until archivesBaseName is set + project.afterEvaluate { + project.pluginManager.withPlugin('maven-publish') { + PublishingExtension publishing = project.extensions.getByType(PublishingExtension) + publishing.publications.withType(MavenPublication) { MavenPublication publication -> + publication.artifactId = project.convention.getPlugin(BasePluginConvention).archivesBaseName + } + } + } + project.plugins.withType(MavenPublishPlugin).whenPluginAdded { TaskProvider generatePomTask = project.tasks.register("generatePom") { Task task -> task.dependsOn 'generatePomFileForNebulaPublication' @@ -323,7 +327,7 @@ class BuildPlugin implements Plugin { } project.tasks.withType(GenerateMavenPom).configureEach({ GenerateMavenPom pomTask -> - pomTask.destination = "${project.buildDir}/distributions/${project.convention.getPlugin(BasePluginConvention).archivesBaseName}-${project.version}.pom" + pomTask.destination = { "${project.buildDir}/distributions/${project.convention.getPlugin(BasePluginConvention).archivesBaseName}-${project.version}.pom" } } as Action) PublishingExtension publishing = project.extensions.getByType(PublishingExtension) @@ -336,7 +340,7 @@ class BuildPlugin implements Plugin { // Here we manually add any project dependencies in the "shadow" configuration to our generated POM publication.pom.withXml(this.&addScmInfo) publication.pom.withXml { xml -> - Node root = xml.asNode(); + Node root = xml.asNode() root.appendNode('name', project.name) root.appendNode('description', project.description) Node dependenciesNode = (root.get('dependencies') as NodeList).get(0) as Node diff --git a/client/rest/build.gradle b/client/rest/build.gradle index 6721e7a9d7723..b9af6f7ca58f9 100644 --- a/client/rest/build.gradle +++ b/client/rest/build.gradle @@ -27,14 +27,6 @@ sourceCompatibility = JavaVersion.VERSION_1_8 group = 'org.elasticsearch.client' archivesBaseName = 'elasticsearch-rest-client' -publishing { - publications { - nebula { - artifactId = archivesBaseName - } - } -} - dependencies { compile "org.apache.httpcomponents:httpclient:${versions.httpclient}" compile "org.apache.httpcomponents:httpcore:${versions.httpcore}" diff --git a/client/sniffer/build.gradle b/client/sniffer/build.gradle index 33820e3139efd..437b361313386 100644 --- a/client/sniffer/build.gradle +++ b/client/sniffer/build.gradle @@ -25,14 +25,6 @@ sourceCompatibility = JavaVersion.VERSION_1_8 group = 'org.elasticsearch.client' archivesBaseName = 'elasticsearch-rest-client-sniffer' -publishing { - publications { - nebula { - artifactId = archivesBaseName - } - } -} - dependencies { compile project(":client:rest") compile "org.apache.httpcomponents:httpclient:${versions.httpclient}" diff --git a/libs/core/build.gradle b/libs/core/build.gradle index 0ca0148e76593..5c63c6d53094a 100644 --- a/libs/core/build.gradle +++ b/libs/core/build.gradle @@ -63,14 +63,6 @@ if (!isEclipse) { } } -publishing { - publications { - nebula { - artifactId = archivesBaseName - } - } -} - dependencies { // This dependency is used only by :libs:core for null-checking interop with other tools compileOnly "com.google.code.findbugs:jsr305:3.0.2" diff --git a/modules/lang-painless/spi/build.gradle b/modules/lang-painless/spi/build.gradle index e8325a86faf88..32604c0f84fd2 100644 --- a/modules/lang-painless/spi/build.gradle +++ b/modules/lang-painless/spi/build.gradle @@ -23,14 +23,6 @@ apply plugin: 'nebula.maven-base-publish' group = 'org.elasticsearch.plugin' archivesBaseName = 'elasticsearch-scripting-painless-spi' -publishing { - publications { - nebula { - artifactId = archivesBaseName - } - } -} - dependencies { compile project(":server") } diff --git a/x-pack/transport-client/build.gradle b/x-pack/transport-client/build.gradle index 7b39cffcbaa82..0e7444ddb34b8 100644 --- a/x-pack/transport-client/build.gradle +++ b/x-pack/transport-client/build.gradle @@ -30,11 +30,3 @@ testingConventions { } } } - -publishing { - publications { - nebula(MavenPublication) { - artifactId = archivesBaseName - } - } -}