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/05 22:33:51 UTC
[groovy] branch master updated: GROOVY-9384: Groovy should provide
a Maven BOM (closes #1160)
This is an automated email from the ASF dual-hosted git repository.
paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/master by this push:
new 5ad5079 GROOVY-9384: Groovy should provide a Maven BOM (closes #1160)
5ad5079 is described below
commit 5ad507949f24985e08b8e8859021d81776db71cb
Author: Paul King <pa...@asert.com.au>
AuthorDate: Wed Feb 5 09:09:32 2020 +1000
GROOVY-9384: Groovy should provide a Maven BOM (closes #1160)
---
gradle/publish.gradle | 3 +++
gradle/upload.gradle | 29 +++++++++++++++++++++++++++++
2 files changed, 32 insertions(+)
diff --git a/gradle/publish.gradle b/gradle/publish.gradle
index 27fbba2..fb4c73e 100644
--- a/gradle/publish.gradle
+++ b/gradle/publish.gradle
@@ -69,6 +69,7 @@ allprojects {
// 'org/apache/groovy/groovy-testng/**',
// 'org/apache/groovy/groovy-xml/**',
'org/apache/groovy/groovy/*/groovy-all-*',
+ 'org/apache/groovy/groovy/*/groovy-bom-*',
'org/apache/groovy/groovy/*/groovy-backports-*',
'org/apache/groovy/groovy/*/groovy-binary-*'
].join(',')
@@ -110,9 +111,11 @@ artifactoryPublish {
}
}
deployDetails.add(makeTransformedPomDetails(name: 'groovy-all'))
+ deployDetails.add(makeTransformedPomDetails(name: 'groovy-bom'))
if (isReleaseVersion) {
deployDetails.add(makeTransformedPomSigDetails(name: 'groovy-all'))
+ 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 5408e67..e054aed 100644
--- a/gradle/upload.gradle
+++ b/gradle/upload.gradle
@@ -211,6 +211,7 @@ def 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 ->
@@ -218,6 +219,11 @@ def pomAll = {
// we adjust the packaging attribute later
artifact.name.contains('groovy-binary')
}
+ 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')
}
@@ -271,6 +277,29 @@ def pomAll = {
}
}
+ // 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) }
}