From 97585524ca47b1b79e43ef6eebbf2f49210ef4a5 Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Thu, 5 Sep 2019 09:18:34 +0200 Subject: [PATCH] Add managed dependency versions to generated POM Since the dependendency management Gradle plugin is applied and the Jackson BOM is used, versions for this artifact are resolved by the plugin. The plugin configuration in this build disables POM customization, as otherwise it would add `` sections in the generated POMs. This commit adds a missing script in the 2.1.x branch that checks the generated POM for missing versions in dependencies and uses the information provided by the dependency management plugin to add those back. Fixes gh-1082 --- publish-maven.gradle | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/publish-maven.gradle b/publish-maven.gradle index 3c59efd720..110ce5b77d 100644 --- a/publish-maven.gradle +++ b/publish-maven.gradle @@ -14,6 +14,16 @@ install { def customizePom(pom, gradleProject) { pom.whenConfigured { generatedPom -> + + // sort to make pom dependencies order consistent to ease comparison of older poms + generatedPom.dependencies = generatedPom.dependencies.sort { dep -> + "$dep.scope:$dep.groupId:$dep.artifactId" + } + + def managedVersions = dependencyManagement.managedVersions + generatedPom.dependencies.findAll{dep -> !dep.version }.each { dep -> + dep.version = managedVersions["${dep.groupId}:${dep.artifactId}"] + } // respect 'optional' and 'provided' dependencies gradleProject.optionalDeps.each { dep -> generatedPom.dependencies.find { it.artifactId == dep.name }?.optional = true