Skip to content

Commit 0de466e

Browse files
committedJun 16, 2020
Require dependency on s-b-dependencies to use its constraints
Previously, Spring Boot's modules published Gradle Module Metadata (GMM) the declared a platform dependency on spring-boot-dependencies. This provided versions for each module's own dependencies but also had they unwanted side-effect of pulling in spring-boot-dependencies constraints which would influence the version of other dependencies declared in the same configuration. This was undesirable as users should be able to opt in to this level of dependency management, either by using the dependency management plugin or by using Gradle's built-in support via a platform dependency on spring-boot-dependencies. This commit reworks how Spring Boot's build uses spring-boot-dependencies and spring-boot-parent to provide its own dependency management. Configurations that aren't seen by consumers are configured to extend a dependencyManagement configuration that has an enforced platform dependency on spring-boot-parent. This enforces spring-boot-parent's version constraints on Spring Boot's build without making them visible to consumers. To ensure that the versions that Spring Boot has been built against are visible to consumers, the Maven publication that produces pom files and GMM for the published modules is configured to use the resolved versions from the module's runtime classpath. Fixes gh-21911
1 parent e30b8bf commit 0de466e

File tree

92 files changed

+122
-194
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+122
-194
lines changed
 

Diff for: ‎buildSrc/build.gradle

-4
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,6 @@ gradlePlugin {
5454
id = "org.springframework.boot.conventions"
5555
implementationClass = "org.springframework.boot.build.ConventionsPlugin"
5656
}
57-
dependencyManagementPlugin {
58-
id = "org.springframework.boot.internal-dependency-management"
59-
implementationClass = "org.springframework.boot.build.InternalDependencyManagementPlugin"
60-
}
6157
deployedPlugin {
6258
id = "org.springframework.boot.deployed"
6359
implementationClass = "org.springframework.boot.build.DeployedPlugin"

Diff for: ‎buildSrc/src/main/java/org/springframework/boot/build/InternalDependencyManagementPlugin.java

-60
This file was deleted.

0 commit comments

Comments
 (0)