From b4c6a3ec86637ba490970081227c0d78e7c4d4f0 Mon Sep 17 00:00:00 2001 From: "opensearch-trigger-bot[bot]" <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> Date: Thu, 30 Nov 2023 13:52:46 -0800 Subject: [PATCH] [Backport 2.x] Use only pluginZip publication of Apache Maven artifacts (#228) Use only pluginZip publication of Apache Maven artifacts (#226) * Use only pluginZip publication of Apache Maven artifacts * Address code review comments * Address code review comments --------- (cherry picked from commit 76c70652a92344ab74fc157fee4165e4e22bf934) Signed-off-by: Andriy Redko Signed-off-by: github-actions[bot] Co-authored-by: github-actions[bot] --- build.gradle | 42 +++++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/build.gradle b/build.gradle index 91090af55..af45544f9 100644 --- a/build.gradle +++ b/build.gradle @@ -74,6 +74,11 @@ buildscript { } } +allprojects { + // Default to the apache license + project.ext.licenseName = 'The Apache Software License, Version 2.0' + project.ext.licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt' +} publishing { publications { @@ -86,23 +91,28 @@ publishing { name = pluginName description = pluginDescription groupId = "org.opensearch.plugin" - licenses { - license { - name = "The Apache License, Version 2.0" - url = "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - } - developers { - developer { - name = "OpenSearch Flow Framework Plugin" - url = "https://github.com/opensearch-project/flow-framework" - } + + withXml { XmlProvider xml -> + Node node = xml.asNode() + node.appendNode('inceptionYear', '2021') + + Node license = node.appendNode('licenses').appendNode('license') + license.appendNode('name', project.licenseName) + license.appendNode('url', project.licenseUrl) + + Node developer = node.appendNode('developers').appendNode('developer') + developer.appendNode('name', 'OpenSearch') + developer.appendNode('url', 'https://github.com/opensearch-project/flow-framework') } } } } repositories { + maven { + name = 'staging' + url = "${rootProject.buildDir}/local-staging-repo" + } maven { name = "Snapshots" url = "https://aws.oss.sonatype.org/content/repositories/snapshots" @@ -261,3 +271,13 @@ diffCoverageReport { failOnViolation = true } } + + +tasks.withType(AbstractPublishToMaven) { + def predicate = provider { + publication.name == "pluginZip" + } + onlyIf("Publishing only ZIP distributions") { + predicate.get() + } +}