• Andy Wilkinson's avatar
    Require dependency on s-b-dependencies to use its constraints · 0de466e0
    Andy Wilkinson authored
    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
    0de466e0
build.gradle 2.09 KB