From f765069f2aafd3a1a3efa93924a2e6c8553f9ea9 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 19 Nov 2024 09:20:08 +0100 Subject: [PATCH 1/6] fix(deps): Align versions of `spring-core`, `spring-jcl`, and `spring-orm` Ensure consistent versions of `spring-core`, `spring-jcl`, and `spring-orm` across all transitive dependencies. This resolves potential version conflicts caused by different versions being pulled in by other dependencies. Close #13856 --- build.gradle | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build.gradle b/build.gradle index 3c6b86fc15c..aac287eba6f 100644 --- a/build.gradle +++ b/build.gradle @@ -246,6 +246,10 @@ allprojects { if (details.requested.group == "org.spockframework") { details.useVersion(spockVersion) } + def forcedSpringLibraryUpgrades = ['spring-core', 'spring-jcl', 'spring.orm'] + if (details.requested.group == 'org.springframework' && details.requested.name in forcedSpringLibraryUpgrades) { + details.useVersion(springVersion) + } } } } From 93ee6e8127d577d6eb6e5f3ae5d325df2928d68f Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 19 Nov 2024 09:21:07 +0100 Subject: [PATCH 2/6] fix(deps): Align versions of `snakeyaml` Ensure consistent version of `snakeyaml` across all transitive dependencies. This resolves potential version conflicts caused by different versions being pulled in by other dependencies. --- build.gradle | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build.gradle b/build.gradle index aac287eba6f..ed38241da50 100644 --- a/build.gradle +++ b/build.gradle @@ -250,6 +250,9 @@ allprojects { if (details.requested.group == 'org.springframework' && details.requested.name in forcedSpringLibraryUpgrades) { details.useVersion(springVersion) } + if (details.requested.group == 'org.yaml' && details.requested.name == 'snakeyaml') { + details.useVersion(snakeyamlVersion) + } } } } From a0eeb7589ebba294df655f3377516c8cfdbdf090 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 19 Nov 2024 09:22:06 +0100 Subject: [PATCH 3/6] fix(deps): Align versions of `tomcat-jdbc` and 'tomcat-juli' Ensure consistent version of `tomcat-jdbc` and `tomcat-juli` across all transitive dependencies. This resolves potential version conflicts caused by different versions being pulled in by other dependencies. --- build.gradle | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build.gradle b/build.gradle index ed38241da50..a073afd4584 100644 --- a/build.gradle +++ b/build.gradle @@ -253,6 +253,10 @@ allprojects { if (details.requested.group == 'org.yaml' && details.requested.name == 'snakeyaml') { details.useVersion(snakeyamlVersion) } + def forcedTomcatLibraryUpgrades = ['tomcat-jdbc', 'tomcat-juli'] + if (details.requested.group == 'org.apache.tomcat' && details.requested.name in forcedTomcatLibraryUpgrades) { + details.useVersion(tomcatVersion) + } } } } From 9ef05ee37b0ec7c5853f854cbc5e39987a343cee Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 19 Nov 2024 09:25:01 +0100 Subject: [PATCH 4/6] docs(build): Update/correct comment in build file --- build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index a073afd4584..397e47f2315 100644 --- a/build.gradle +++ b/build.gradle @@ -238,8 +238,9 @@ allprojects { def cacheHours = isCiBuild ? 0 : 24 cacheDynamicVersionsFor cacheHours, 'hours' cacheChangingModulesFor cacheHours, 'hours' + + // Align versions of transitive dependencies with the version we are using eachDependency { DependencyResolveDetails details -> - //specifying a fixed version for all libraries with 'org.gradle' group if (details.requested.group == 'org.codehaus.groovy') { details.useVersion groovyVersion } From f86be458b4a61bd36fad6da1733bbacf1e3b2b7e Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 19 Nov 2024 09:26:31 +0100 Subject: [PATCH 5/6] chore(build): Cleanup --- build.gradle | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/build.gradle b/build.gradle index 397e47f2315..c629306e2f6 100644 --- a/build.gradle +++ b/build.gradle @@ -232,32 +232,32 @@ allprojects { } } - configurations { - all { - resolutionStrategy { - def cacheHours = isCiBuild ? 0 : 24 - cacheDynamicVersionsFor cacheHours, 'hours' - cacheChangingModulesFor cacheHours, 'hours' - - // Align versions of transitive dependencies with the version we are using - eachDependency { DependencyResolveDetails details -> - if (details.requested.group == 'org.codehaus.groovy') { - details.useVersion groovyVersion - } - if (details.requested.group == "org.spockframework") { - details.useVersion(spockVersion) - } - def forcedSpringLibraryUpgrades = ['spring-core', 'spring-jcl', 'spring.orm'] - if (details.requested.group == 'org.springframework' && details.requested.name in forcedSpringLibraryUpgrades) { - details.useVersion(springVersion) - } - if (details.requested.group == 'org.yaml' && details.requested.name == 'snakeyaml') { - details.useVersion(snakeyamlVersion) - } - def forcedTomcatLibraryUpgrades = ['tomcat-jdbc', 'tomcat-juli'] - if (details.requested.group == 'org.apache.tomcat' && details.requested.name in forcedTomcatLibraryUpgrades) { - details.useVersion(tomcatVersion) - } + configurations.configureEach { + resolutionStrategy { + def cacheHours = isCiBuild ? 0 : 24 + cacheDynamicVersionsFor cacheHours, 'hours' + cacheChangingModulesFor cacheHours, 'hours' + + // Align versions of transitive dependencies with the version we are using + eachDependency { DependencyResolveDetails details -> + def forcedSpringLibraryUpgrades = ['spring-core', 'spring-jcl', 'spring.orm'] + def forcedTomcatLibraryUpgrades = ['tomcat-jdbc', 'tomcat-juli'] + if (details.requested.group == 'org.codehaus.groovy') { + details.useVersion(groovyVersion) + } + if (details.requested.group == 'org.spockframework') { + details.useVersion(spockVersion) + } + if (details.requested.group == 'org.springframework' && details.requested.name in forcedSpringLibraryUpgrades) { + details.useVersion(springVersion) + } +/* + if (details.requested.group == 'org.yaml' && details.requested.name == 'snakeyaml') { + details.useVersion(snakeyamlVersion) + } +*/ + if (details.requested.group == 'org.apache.tomcat' && details.requested.name in forcedTomcatLibraryUpgrades) { + details.useVersion(tomcatVersion) } } } From 705d865de833219a3b7962cfe5eb2bfe6999b040 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 19 Nov 2024 14:41:01 +0100 Subject: [PATCH 6/6] fix(deps): Enable `snakeyaml` version alignment --- build.gradle | 2 -- 1 file changed, 2 deletions(-) diff --git a/build.gradle b/build.gradle index c629306e2f6..5e8365ae1f9 100644 --- a/build.gradle +++ b/build.gradle @@ -251,11 +251,9 @@ allprojects { if (details.requested.group == 'org.springframework' && details.requested.name in forcedSpringLibraryUpgrades) { details.useVersion(springVersion) } -/* if (details.requested.group == 'org.yaml' && details.requested.name == 'snakeyaml') { details.useVersion(snakeyamlVersion) } -*/ if (details.requested.group == 'org.apache.tomcat' && details.requested.name in forcedTomcatLibraryUpgrades) { details.useVersion(tomcatVersion) }