You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2020/02/06 13:20:15 UTC
[groovy] branch GROOVY_2_4_X updated: GROOVY-9384: Groovy should
provide a Maven BOM (port to 2_4_X)
This is an automated email from the ASF dual-hosted git repository.
paulk pushed a commit to branch GROOVY_2_4_X
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/GROOVY_2_4_X by this push:
new 77d0fe1 GROOVY-9384: Groovy should provide a Maven BOM (port to 2_4_X)
77d0fe1 is described below
commit 77d0fe1b211f52f784653d1752e7834782077e24
Author: Paul King <pa...@asert.com.au>
AuthorDate: Wed Feb 5 09:09:32 2020 +1000
GROOVY-9384: Groovy should provide a Maven BOM (port to 2_4_X)
---
gradle/publish.gradle | 4 +++-
gradle/upload.gradle | 29 +++++++++++++++++++++++++++++
2 files changed, 32 insertions(+), 1 deletion(-)
diff --git a/gradle/publish.gradle b/gradle/publish.gradle
index 5a77ae1..b454071 100644
--- a/gradle/publish.gradle
+++ b/gradle/publish.gradle
@@ -44,7 +44,7 @@ allprojects {
}
}
publish {
- excludePatterns = "org/codehaus/groovy/groovy/*/groovy-all-*,org/codehaus/groovy/groovy/*/groovy-backports-*,org/codehaus/groovy/groovy/*/groovy-binary-*"
+ excludePatterns = "org/codehaus/groovy/groovy/*/groovy-all-*,org/codehaus/groovy/groovy/*/groovy-bom-*,org/codehaus/groovy/groovy/*/groovy-backports-*,org/codehaus/groovy/groovy/*/groovy-binary-*"
repository {
repoKey = project.hasProperty('artifactoryRepoKey') ? project.artifactoryRepoKey : 'oss-snapshot-local'
//The Artifactory repository key to publish to
@@ -82,8 +82,10 @@ artifactoryPublish {
}
}
}
+ deployDetails.add(makeTransformedPomDetails(name: 'groovy-bom'))
if (isReleaseVersion) {
+ deployDetails.add(makeTransformedPomSigDetails(name: 'groovy-bom'))
allprojects {
if (project == rootProject || rootProject.ext.modules().contains(project)) {
configurations.archives.artifacts.findAll {
diff --git a/gradle/upload.gradle b/gradle/upload.gradle
index c5a77bd..86cfaba 100644
--- a/gradle/upload.gradle
+++ b/gradle/upload.gradle
@@ -219,11 +219,17 @@ ext.pomAll = {
addFilter('groovy') { artifact, file ->
!(artifact.name.contains('groovy-all')) &&
!(artifact.name.contains('groovy-binary')) &&
+ !(artifact.name.contains('groovy-bom')) &&
!(artifact.name.contains('backport'))
}
addFilter('all') { artifact, file ->
artifact.name.contains('groovy-all')
}
+ addFilter('bom') { artifact, file ->
+ // add an arbitrary artifact, so that the pom file is generated
+ // we adjust the packaging attribute later
+ artifact.name.contains('groovy-binary')
+ }
addFilter('binary') { artifact, file ->
artifact.name.contains('groovy-binary')
}
@@ -273,6 +279,29 @@ ext.pomAll = {
p.dependencies.clear()
}
+ // bom for "all" dependencies
+ def allbom = pom('bom', pomConfigureClosureWithoutTweaks)
+ allbom.artifactId = 'groovy-bom'
+ allbom.whenConfigured { p ->
+ p.dependencies.clear()
+ // defer setting packaging until here otherwise gets overwritten
+ p.packaging = 'pom'
+ p.withXml { xml ->
+ def projectNode = xml.asNode()
+ def dependencyManagement = projectNode.appendNode('dependencyManagement').appendNode('dependencies')
+ String groupId = project.group
+ allprojects { proj ->
+ if (proj.name.startsWith('groovy')) {
+ dependencyManagement.appendNode('dependency').with { dep ->
+ dep.appendNode('groupId', groupId)
+ dep.appendNode('artifactId', proj.name)
+ dep.appendNode('version', proj.version)
+ }
+ }
+ }
+ }
+ }
+
beforeDeployment { MavenDeployment deployment -> if (isReleaseVersion) signing.signPom(deployment) }
}