Browse Source

Rework dep mgmt again to avoid consumers picking up strict constraints

This paves the way for publishing Gradle module metadata once the
problem caused by snapshot versions and our two-step publication
process has been addressed.

See gh-19609
pull/19762/head
Andy Wilkinson 6 years ago
parent
commit
714a187d8f
  1. 4
      buildSrc/build.gradle
  2. 60
      buildSrc/src/main/java/org/springframework/boot/build/InternalDependencyManagementPlugin.java
  3. 14
      buildSrc/src/main/java/org/springframework/boot/build/bom/BomExtension.java
  4. 16
      buildSrc/src/main/java/org/springframework/boot/build/bom/BomPlugin.java
  5. 2
      buildSrc/src/main/java/org/springframework/boot/build/starters/StarterPlugin.java
  6. 8
      spring-boot-project/spring-boot-actuator-autoconfigure/build.gradle
  7. 5
      spring-boot-project/spring-boot-actuator/build.gradle
  8. 8
      spring-boot-project/spring-boot-autoconfigure/build.gradle
  9. 7
      spring-boot-project/spring-boot-cli/build.gradle
  10. 7
      spring-boot-project/spring-boot-devtools/build.gradle
  11. 4
      spring-boot-project/spring-boot-properties-migrator/build.gradle
  12. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-activemq/build.gradle
  13. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-actuator/build.gradle
  14. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-amqp/build.gradle
  15. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-aop/build.gradle
  16. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-artemis/build.gradle
  17. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-batch/build.gradle
  18. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-cache/build.gradle
  19. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-cloud-connectors/build.gradle
  20. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-cassandra-reactive/build.gradle
  21. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-cassandra/build.gradle
  22. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-couchbase-reactive/build.gradle
  23. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-couchbase/build.gradle
  24. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-elasticsearch/build.gradle
  25. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-jdbc/build.gradle
  26. 4
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-jpa/build.gradle
  27. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-ldap/build.gradle
  28. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-mongodb-reactive/build.gradle
  29. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-mongodb/build.gradle
  30. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-neo4j/build.gradle
  31. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-redis-reactive/build.gradle
  32. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-redis/build.gradle
  33. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-rest/build.gradle
  34. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-data-solr/build.gradle
  35. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-freemarker/build.gradle
  36. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-groovy-templates/build.gradle
  37. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-hateoas/build.gradle
  38. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-integration/build.gradle
  39. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-jdbc/build.gradle
  40. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-jersey/build.gradle
  41. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-jetty/build.gradle
  42. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-jooq/build.gradle
  43. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-json/build.gradle
  44. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-jta-atomikos/build.gradle
  45. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-jta-bitronix/build.gradle
  46. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-log4j2/build.gradle
  47. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-logging/build.gradle
  48. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-mail/build.gradle
  49. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-mustache/build.gradle
  50. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-oauth2-client/build.gradle
  51. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-oauth2-resource-server/build.gradle
  52. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-quartz/build.gradle
  53. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-reactor-netty/build.gradle
  54. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-rsocket/build.gradle
  55. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-security/build.gradle
  56. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-test/build.gradle
  57. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-thymeleaf/build.gradle
  58. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-tomcat/build.gradle
  59. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-undertow/build.gradle
  60. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-validation/build.gradle
  61. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-web-services/build.gradle
  62. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-web/build.gradle
  63. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-webflux/build.gradle
  64. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter-websocket/build.gradle
  65. 2
      spring-boot-project/spring-boot-starters/spring-boot-starter/build.gradle
  66. 7
      spring-boot-project/spring-boot-test-autoconfigure/build.gradle
  67. 6
      spring-boot-project/spring-boot-test/build.gradle
  68. 4
      spring-boot-project/spring-boot-tools/spring-boot-antlib/build.gradle
  69. 4
      spring-boot-project/spring-boot-tools/spring-boot-configuration-metadata/build.gradle
  70. 7
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build.gradle
  71. 3
      spring-boot-project/spring-boot-tools/spring-boot-loader-tools/build.gradle
  72. 5
      spring-boot-project/spring-boot-tools/spring-boot-loader/build.gradle
  73. 9
      spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/build.gradle
  74. 4
      spring-boot-project/spring-boot-tools/spring-boot-test-support/build.gradle
  75. 9
      spring-boot-project/spring-boot/build.gradle
  76. 2
      spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-ant/build.gradle
  77. 1
      spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-atmosphere/build.gradle
  78. 10
      spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-jetty-jsp/build.gradle
  79. 2
      spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-war/build.gradle

4
buildSrc/build.gradle

@ -53,6 +53,10 @@ gradlePlugin { @@ -53,6 +53,10 @@ gradlePlugin {
id = "org.springframework.boot.conventions"
implementationClass = "org.springframework.boot.build.ConventionsPlugin"
}
dependencyManagementPlugin {
id = "org.springframework.boot.internal-dependency-management"
implementationClass = "org.springframework.boot.build.InternalDependencyManagementPlugin"
}
deployedPlugin {
id = "org.springframework.boot.deployed"
implementationClass = "org.springframework.boot.build.DeployedPlugin"

60
buildSrc/src/main/java/org/springframework/boot/build/InternalDependencyManagementPlugin.java

@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
/*
* Copyright 2020-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.build;
import java.util.Collections;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.artifacts.Configuration;
import org.gradle.api.artifacts.ConfigurationContainer;
import org.gradle.api.artifacts.Dependency;
import org.gradle.api.plugins.JavaBasePlugin;
import org.springframework.boot.build.optional.OptionalDependenciesPlugin;
/**
* Plugin to apply internal dependency management to Spring Boot's projects. Uses a custom
* configuration to enforce a platform for Spring Boot's own build. This prevents the
* enforced (strict) constraints from being visible to external consumers.
*
* @author Andy Wilkinson
*/
public class InternalDependencyManagementPlugin implements Plugin<Project> {
@Override
public void apply(Project project) {
project.getPlugins().withType(JavaBasePlugin.class, (java) -> configureDependencyManagement(project));
}
private void configureDependencyManagement(Project project) {
ConfigurationContainer configurations = project.getConfigurations();
Configuration dependencyManagement = configurations.create("internalDependencyManagement", (configuration) -> {
configuration.setVisible(false);
configuration.setCanBeConsumed(false);
configuration.setCanBeResolved(false);
});
configurations.matching((configuration) -> configuration.getName().endsWith("Classpath"))
.all((configuration) -> configuration.extendsFrom(dependencyManagement));
Dependency springBootParent = project.getDependencies().enforcedPlatform(project.getDependencies()
.project(Collections.singletonMap("path", ":spring-boot-project:spring-boot-parent")));
dependencyManagement.getDependencies().add(springBootParent);
project.getPlugins().withType(OptionalDependenciesPlugin.class, (optionalDependencies) -> configurations
.getByName(OptionalDependenciesPlugin.OPTIONAL_CONFIGURATION_NAME).extendsFrom(dependencyManagement));
}
}

14
buildSrc/src/main/java/org/springframework/boot/build/bom/BomExtension.java

@ -30,6 +30,7 @@ import org.apache.maven.artifact.versioning.VersionRange; @@ -30,6 +30,7 @@ import org.apache.maven.artifact.versioning.VersionRange;
import org.gradle.api.InvalidUserCodeException;
import org.gradle.api.InvalidUserDataException;
import org.gradle.api.artifacts.dsl.DependencyHandler;
import org.gradle.api.plugins.JavaPlatformPlugin;
import org.gradle.util.ConfigureUtil;
import org.springframework.boot.build.bom.Library.Exclusion;
@ -51,10 +52,10 @@ public class BomExtension { @@ -51,10 +52,10 @@ public class BomExtension {
private final List<Library> libraries = new ArrayList<Library>();
private final DependencyHandler dependencyHandler;
private final UpgradeHandler upgradeHandler = new UpgradeHandler();
private final DependencyHandler dependencyHandler;
public BomExtension(DependencyHandler dependencyHandler) {
this.dependencyHandler = dependencyHandler;
}
@ -107,13 +108,16 @@ public class BomExtension { @@ -107,13 +108,16 @@ public class BomExtension {
for (Group group : library.getGroups()) {
for (Module module : group.getModules()) {
this.putArtifactVersionProperty(group.getId(), module.getName(), library.getVersionProperty());
this.dependencyHandler.getConstraints().add("api",
this.dependencyHandler.getConstraints().add(JavaPlatformPlugin.API_CONFIGURATION_NAME,
createDependencyNotation(group.getId(), module.getName(), library.getVersion()));
}
for (String bomImport : group.getBoms()) {
this.putArtifactVersionProperty(group.getId(), bomImport, library.getVersionProperty());
this.dependencyHandler.add("api", this.dependencyHandler
.enforcedPlatform(createDependencyNotation(group.getId(), bomImport, library.getVersion())));
String bomDependency = createDependencyNotation(group.getId(), bomImport, library.getVersion());
this.dependencyHandler.add(JavaPlatformPlugin.API_CONFIGURATION_NAME,
this.dependencyHandler.platform(bomDependency));
this.dependencyHandler.add(BomPlugin.API_ENFORCED_CONFIGURATION_NAME,
this.dependencyHandler.enforcedPlatform(bomDependency));
}
}
}

16
buildSrc/src/main/java/org/springframework/boot/build/bom/BomPlugin.java

@ -67,6 +67,8 @@ import org.springframework.util.FileCopyUtils; @@ -67,6 +67,8 @@ import org.springframework.util.FileCopyUtils;
*/
public class BomPlugin implements Plugin<Project> {
static final String API_ENFORCED_CONFIGURATION_NAME = "apiEnforced";
@Override
public void apply(Project project) {
PluginContainer plugins = project.getPlugins();
@ -75,6 +77,7 @@ public class BomPlugin implements Plugin<Project> { @@ -75,6 +77,7 @@ public class BomPlugin implements Plugin<Project> {
plugins.apply(JavaPlatformPlugin.class);
JavaPlatformExtension javaPlatform = project.getExtensions().getByType(JavaPlatformExtension.class);
javaPlatform.allowDependencies();
createApiEnforcedConfiguration(project);
BomExtension bom = project.getExtensions().create("bom", BomExtension.class, project.getDependencies());
project.getTasks().create("bomrCheck", CheckBom.class, bom);
project.getTasks().create("bomrUpgrade", UpgradeBom.class, bom);
@ -114,6 +117,19 @@ public class BomPlugin implements Plugin<Project> { @@ -114,6 +117,19 @@ public class BomPlugin implements Plugin<Project> {
});
}
private void createApiEnforcedConfiguration(Project project) {
Configuration apiEnforced = project.getConfigurations().create(API_ENFORCED_CONFIGURATION_NAME,
(configuration) -> {
configuration.setCanBeConsumed(false);
configuration.setCanBeResolved(false);
configuration.setVisible(false);
});
project.getConfigurations().getByName(JavaPlatformPlugin.ENFORCED_API_ELEMENTS_CONFIGURATION_NAME)
.extendsFrom(apiEnforced);
project.getConfigurations().getByName(JavaPlatformPlugin.ENFORCED_RUNTIME_ELEMENTS_CONFIGURATION_NAME)
.extendsFrom(apiEnforced);
}
private static final class PublishingCustomizer {
private final Project project;

2
buildSrc/src/main/java/org/springframework/boot/build/starters/StarterPlugin.java

@ -29,6 +29,7 @@ import org.gradle.api.plugins.PluginContainer; @@ -29,6 +29,7 @@ import org.gradle.api.plugins.PluginContainer;
import org.springframework.boot.build.ConventionsPlugin;
import org.springframework.boot.build.DeployedPlugin;
import org.springframework.boot.build.InternalDependencyManagementPlugin;
import org.springframework.boot.build.classpath.CheckClasspathForConflicts;
import org.springframework.boot.build.classpath.CheckClasspathForProhibitedDependencies;
import org.springframework.util.StringUtils;
@ -46,6 +47,7 @@ public class StarterPlugin implements Plugin<Project> { @@ -46,6 +47,7 @@ public class StarterPlugin implements Plugin<Project> {
plugins.apply(DeployedPlugin.class);
plugins.apply(JavaLibraryPlugin.class);
plugins.apply(ConventionsPlugin.class);
plugins.apply(InternalDependencyManagementPlugin.class);
StarterMetadata starterMetadata = project.getTasks().create("starterMetadata", StarterMetadata.class);
ConfigurationContainer configurations = project.getConfigurations();
Configuration runtimeClasspath = configurations.getByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME);

8
spring-boot-project/spring-boot-actuator-autoconfigure/build.gradle

@ -5,6 +5,7 @@ plugins { @@ -5,6 +5,7 @@ plugins {
id 'org.springframework.boot.auto-configuration'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.deployed'
id 'org.springframework.boot.internal-dependency-management'
id 'org.springframework.boot.optional-dependencies'
}
@ -16,12 +17,13 @@ configurations { @@ -16,12 +17,13 @@ configurations {
}
dependencies {
asciidoctorExtensions enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
asciidoctorExtensions platform(project(':spring-boot-project:spring-boot-dependencies'))
asciidoctorExtensions 'org.springframework.restdocs:spring-restdocs-asciidoctor'
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-actuator')
implementation enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
implementation project(':spring-boot-project:spring-boot')
implementation project(':spring-boot-project:spring-boot-autoconfigure')
implementation 'com.fasterxml.jackson.core:jackson-databind'
@ -29,7 +31,7 @@ dependencies { @@ -29,7 +31,7 @@ dependencies {
implementation 'org.springframework:spring-core'
implementation 'org.springframework:spring-context'
optional enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
optional platform(project(':spring-boot-project:spring-boot-dependencies'))
optional 'ch.qos.logback:logback-classic'
optional 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml'
optional 'com.github.ben-manes.caffeine:caffeine'

5
spring-boot-project/spring-boot-actuator/build.gradle

@ -9,10 +9,11 @@ plugins { @@ -9,10 +9,11 @@ plugins {
description = 'Spring Boot Actuator'
dependencies {
implementation enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
implementation project(':spring-boot-project:spring-boot')
optional enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
optional platform(project(':spring-boot-project:spring-boot-dependencies'))
optional 'com.fasterxml.jackson.core:jackson-databind'
optional 'com.hazelcast:hazelcast'
optional 'com.hazelcast:hazelcast-spring'

8
spring-boot-project/spring-boot-autoconfigure/build.gradle

@ -4,6 +4,7 @@ plugins { @@ -4,6 +4,7 @@ plugins {
id 'org.springframework.boot.auto-configuration'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.deployed'
id 'org.springframework.boot.internal-dependency-management'
id 'org.springframework.boot.optional-dependencies'
}
@ -11,10 +12,9 @@ description = 'Spring Boot AutoConfigure' @@ -11,10 +12,9 @@ description = 'Spring Boot AutoConfigure'
dependencies {
api project(':spring-boot-project:spring-boot')
api platform(project(':spring-boot-project:spring-boot-dependencies'))
implementation enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
optional enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
optional platform(project(':spring-boot-project:spring-boot-dependencies'))
optional 'com.atomikos:transactions-jdbc'
optional 'com.atomikos:transactions-jta'
optional 'com.couchbase.client:couchbase-spring-cache'
@ -148,7 +148,7 @@ dependencies { @@ -148,7 +148,7 @@ dependencies {
optional 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
optional 'redis.clients:jedis'
testImplementation enforcedPlatform(project(':spring-boot-project:spring-boot-parent'))
testImplementation platform(project(':spring-boot-project:spring-boot-parent'))
testImplementation project(':spring-boot-project:spring-boot-tools:spring-boot-test-support')
testImplementation project(':spring-boot-project:spring-boot-test')
testImplementation 'ch.qos.logback:logback-classic'

7
spring-boot-project/spring-boot-cli/build.gradle

@ -3,6 +3,7 @@ plugins { @@ -3,6 +3,7 @@ plugins {
id 'org.springframework.boot.deployed'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.integration-test'
id 'org.springframework.boot.internal-dependency-management'
}
description = "Spring Boot CLI"
@ -15,16 +16,14 @@ configurations { @@ -15,16 +16,14 @@ configurations {
dependencies {
compileOnly project(':spring-boot-project:spring-boot')
compileOnly 'jakarta.servlet:jakarta.servlet-api'
compileOnly 'org.codehaus.groovy:groovy-templates'
compileOnly 'org.springframework:spring-web'
dependenciesBom project(path: ':spring-boot-project:spring-boot-dependencies', configuration: 'effectiveBom')
implementation enforcedPlatform(project(':spring-boot-project:spring-boot-parent'))
implementation platform(project(':spring-boot-project:spring-boot-parent'))
implementation project(':spring-boot-project:spring-boot-tools:spring-boot-loader-tools')
implementation 'com.vaadin.external.google:android-json'
implementation 'jline:jline'
implementation 'net.sf.jopt-simple:jopt-simple'
@ -51,7 +50,7 @@ dependencies { @@ -51,7 +50,7 @@ dependencies {
implementation 'org.springframework:spring-core'
implementation 'org.springframework.security:spring-security-crypto'
intTestImplementation enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
intTestImplementation platform(project(':spring-boot-project:spring-boot-dependencies'))
intTestImplementation project(':spring-boot-project:spring-boot-tools:spring-boot-loader-tools')
intTestImplementation project(':spring-boot-project:spring-boot-tools:spring-boot-test-support')
intTestImplementation 'org.assertj:assertj-core'

7
spring-boot-project/spring-boot-devtools/build.gradle

@ -4,6 +4,7 @@ plugins { @@ -4,6 +4,7 @@ plugins {
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.deployed'
id 'org.springframework.boot.integration-test'
id 'org.springframework.boot.internal-dependency-management'
id 'org.springframework.boot.optional-dependencies'
}
@ -14,13 +15,13 @@ configurations { @@ -14,13 +15,13 @@ configurations {
}
dependencies {
implementation enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
implementation project(':spring-boot-project:spring-boot')
implementation project(':spring-boot-project:spring-boot-autoconfigure')
intTestDependencies project(':spring-boot-project:spring-boot-starters:spring-boot-starter-web')
intTestImplementation enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
intTestImplementation project(':spring-boot-project:spring-boot-autoconfigure')
intTestImplementation project(':spring-boot-project:spring-boot-test')
intTestImplementation project(':spring-boot-project:spring-boot-tools:spring-boot-test-support')
@ -31,7 +32,7 @@ dependencies { @@ -31,7 +32,7 @@ dependencies {
intTestImplementation 'net.bytebuddy:byte-buddy'
intTestRuntimeOnly 'org.springframework:spring-web'
optional enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
optional platform(project(':spring-boot-project:spring-boot-dependencies'))
optional 'javax.servlet:javax.servlet-api'
optional 'org.apache.derby:derby'
optional 'org.hibernate:hibernate-core'

4
spring-boot-project/spring-boot-properties-migrator/build.gradle

@ -2,12 +2,14 @@ plugins { @@ -2,12 +2,14 @@ plugins {
id 'java-library'
id 'maven-publish'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.internal-dependency-management'
}
description = 'Spring Boot Properties Migrator'
dependencies {
implementation enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
implementation project(':spring-boot-project:spring-boot')
implementation project(':spring-boot-project:spring-boot-tools:spring-boot-configuration-metadata')

2
spring-boot-project/spring-boot-starters/spring-boot-starter-activemq/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for JMS messaging using Apache ActiveMQ"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework:spring-jms'
api ('org.apache.activemq:activemq-broker') {

2
spring-boot-project/spring-boot-starters/spring-boot-starter-actuator/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Spring Boot's Actuator which provides production ready features to help you monitor and manage your application"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api project(':spring-boot-project:spring-boot-actuator-autoconfigure')
api 'io.micrometer:micrometer-core'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-amqp/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Spring AMQP and Rabbit MQ"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework:spring-messaging'
api 'org.springframework.amqp:spring-rabbit'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-aop/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for aspect-oriented programming with Spring AOP and AspectJ"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework:spring-aop'
api 'org.aspectj:aspectjweaver'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-artemis/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for JMS messaging using Apache Artemis"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'jakarta.jms:jakarta.jms-api'
api 'jakarta.json:jakarta.json-api'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-batch/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Spring Batch"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc')
api 'org.springframework.batch:spring-batch-core'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-cache/build.gradle vendored

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Spring Framework's caching support"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework:spring-context-support'
}

2
spring-boot-project/spring-boot-starters/spring-boot-starter-cloud-connectors/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Spring Cloud Connectors which simplifies connecting to services in cloud platforms like Cloud Foundry and Heroku"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework.cloud:spring-cloud-spring-service-connector'
api 'org.springframework.cloud:spring-cloud-cloudfoundry-connector'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-cassandra-reactive/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Cassandra distributed database and Spring Data Cassandra Reactive"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework:spring-tx'
api 'org.springframework.data:spring-data-cassandra'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-cassandra/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Cassandra distributed database and Spring Data Cassandra"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework:spring-tx'
api 'org.springframework.data:spring-data-cassandra'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-couchbase-reactive/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Couchbase document-oriented database and Spring Data Couchbase Reactive"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'io.projectreactor:reactor-core'
api 'io.reactivex:rxjava-reactive-streams'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-couchbase/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Couchbase document-oriented database and Spring Data Couchbase"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api ('org.springframework.data:spring-data-couchbase') {
exclude group: 'com.couchbase.client', module: 'encryption'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-elasticsearch/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Elasticsearch search and analytics engine and Spring Data Elasticsearch"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api ('org.springframework.data:spring-data-elasticsearch') {
exclude group: 'org.elasticsearch.client', module: 'transport'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-jdbc/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Spring Data JDBC"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc')
api 'org.springframework.data:spring-data-jdbc'
}

4
spring-boot-project/spring-boot-starters/spring-boot-starter-data-jpa/build.gradle

@ -5,12 +5,12 @@ plugins { @@ -5,12 +5,12 @@ plugins {
description = "Starter for using Spring Data JPA with Hibernate"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-aop')
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc')
api 'jakarta.transaction:jakarta.transaction-api'
api 'jakarta.persistence:jakarta.persistence-api'
api ('org.hibernate:hibernate-core') {
api ('org.hibernate:hibernate-core') {
exclude group: 'javax.activation', module: 'javax.activation-api'
exclude group: 'javax.persistence', module: 'javax.persistence-api'
exclude group: 'javax.xml.bind', module: 'jaxb-api'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-ldap/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Spring Data LDAP"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework.data:spring-data-ldap'
}

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-mongodb-reactive/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using MongoDB document-oriented database and Spring Data MongoDB Reactive"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'io.projectreactor:reactor-core'
api 'org.mongodb:mongodb-driver'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-mongodb/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using MongoDB document-oriented database and Spring Data MongoDB"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.mongodb:mongodb-driver'
api ('org.springframework.data:spring-data-mongodb') {

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-neo4j/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Neo4j graph database and Spring Data Neo4j"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework.data:spring-data-neo4j'
}

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-redis-reactive/build.gradle

@ -5,6 +5,6 @@ plugins { @@ -5,6 +5,6 @@ plugins {
description = "Starter for using Redis key-value data store with Spring Data Redis reactive and the Lettuce client"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-data-redis')
}

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-redis/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Redis key-value data store with Spring Data Redis and the Lettuce client"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework.data:spring-data-redis'
api 'io.lettuce:lettuce-core'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-rest/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for exposing Spring Data repositories over REST using Spring Data REST"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-web')
api 'org.springframework.data:spring-data-rest-webmvc'
}

2
spring-boot-project/spring-boot-starters/spring-boot-starter-data-solr/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using the Apache Solr search platform with Spring Data Solr"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api ('org.apache.solr:solr-solrj') {
exclude group: 'org.slf4j', module: 'jcl-over-slf4j'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-freemarker/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for building MVC web applications using FreeMarker views"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.freemarker:freemarker'
api 'org.springframework:spring-context-support'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-groovy-templates/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for building MVC web applications using Groovy Templates views"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-web')
api 'org.codehaus.groovy:groovy-templates'
}

2
spring-boot-project/spring-boot-starters/spring-boot-starter-hateoas/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for building hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-web')
api 'org.springframework.hateoas:spring-hateoas'
api 'org.springframework.plugin:spring-plugin-core'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-integration/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Spring Integration"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-aop')
api 'org.springframework.integration:spring-integration-core'
}

2
spring-boot-project/spring-boot-starters/spring-boot-starter-jdbc/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using JDBC with the HikariCP connection pool"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'com.zaxxer:HikariCP'
api 'org.springframework:spring-jdbc'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-jersey/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for building RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-web"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-json')
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-tomcat')
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-validation')

2
spring-boot-project/spring-boot-starters/spring-boot-starter-jetty/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Jetty as the embedded servlet container. An alternative to spring-boot-starter-tomcat"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api 'jakarta.servlet:jakarta.servlet-api'
api 'jakarta.websocket:jakarta.websocket-api'
api 'org.eclipse.jetty:jetty-servlets'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-jooq/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using jOOQ to access SQL databases. An alternative to spring-boot-starter-data-jpa or spring-boot-starter-jdbc"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc')
api 'jakarta.activation:jakarta.activation-api'
api 'jakarta.xml.bind:jakarta.xml.bind-api'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-json/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for reading and writing json"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework:spring-web'
api 'com.fasterxml.jackson.core:jackson-databind'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-jta-atomikos/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for JTA transactions using Atomikos"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'com.atomikos:transactions-jms'
api 'com.atomikos:transactions-jta'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-jta-bitronix/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for JTA transactions using Bitronix"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'jakarta.jms:jakarta.jms-api'
api 'jakarta.transaction:jakarta.transaction-api'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-log4j2/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Log4j2 for logging. An alternative to spring-boot-starter-logging"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api 'org.apache.logging.log4j:log4j-slf4j-impl'
api 'org.apache.logging.log4j:log4j-core'
api 'org.apache.logging.log4j:log4j-jul'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-logging/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for logging using Logback. Default logging starter"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api 'ch.qos.logback:logback-classic'
api 'org.apache.logging.log4j:log4j-to-slf4j'
api 'org.slf4j:jul-to-slf4j'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-mail/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Java Mail and Spring Framework's email sending support"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework:spring-context-support'
api 'com.sun.mail:jakarta.mail'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-mustache/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for building web applications using Mustache views"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'com.samskivert:jmustache'
}

2
spring-boot-project/spring-boot-starters/spring-boot-starter-oauth2-client/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Spring Security's OAuth2/OpenID Connect client features"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'com.sun.mail:jakarta.mail'
api 'org.springframework.security:spring-security-config'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-oauth2-resource-server/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Spring Security's OAuth2 resource server features"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework.security:spring-security-config'
api 'org.springframework.security:spring-security-core'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-quartz/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using the Quartz scheduler"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework:spring-context-support'
api 'org.springframework:spring-tx'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-reactor-netty/build.gradle

@ -5,6 +5,6 @@ plugins { @@ -5,6 +5,6 @@ plugins {
description = "Starter for using Reactor Netty as the embedded reactive HTTP server."
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api 'io.projectreactor.netty:reactor-netty'
}

2
spring-boot-project/spring-boot-starters/spring-boot-starter-rsocket/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for building RSocket clients and servers"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-json')
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-reactor-netty')

2
spring-boot-project/spring-boot-starters/spring-boot-starter-security/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Spring Security"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.springframework:spring-aop'
api 'org.springframework.security:spring-security-config'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-test/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for testing Spring Boot applications with libraries including JUnit, Hamcrest and Mockito"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api project(':spring-boot-project:spring-boot-test')

2
spring-boot-project/spring-boot-starters/spring-boot-starter-thymeleaf/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for building MVC web applications using Thymeleaf views"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.thymeleaf:thymeleaf-spring5'
api 'org.thymeleaf.extras:thymeleaf-extras-java8time'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-tomcat/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Tomcat as the embedded servlet container. Default servlet container starter used by spring-boot-starter-web"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api 'jakarta.annotation:jakarta.annotation-api'
api ('org.apache.tomcat.embed:tomcat-embed-core') {
exclude group: 'org.apache.tomcat', module: 'tomcat-annotations-api'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-undertow/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Undertow as the embedded servlet container. An alternative to spring-boot-starter-tomcat"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api 'io.undertow:undertow-core'
api ('io.undertow:undertow-servlet') {
exclude group: 'org.jboss.spec.javax.annotation', module: 'jboss-annotations-api_1.2_spec'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-validation/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Java Bean Validation with Hibernate Validator"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api 'org.glassfish:jakarta.el'
api 'org.hibernate.validator:hibernate-validator'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-web-services/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for using Spring Web Services"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-web')
api 'com.sun.xml.messaging.saaj:saaj-impl'
api 'jakarta.xml.ws:jakarta.xml.ws-api'

2
spring-boot-project/spring-boot-starters/spring-boot-starter-web/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-json')
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-tomcat')

2
spring-boot-project/spring-boot-starters/spring-boot-starter-webflux/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for building WebFlux applications using Spring Framework's Reactive Web support"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter')
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-json')
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-reactor-netty')

2
spring-boot-project/spring-boot-starters/spring-boot-starter-websocket/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Starter for building WebSocket applications using Spring Framework's WebSocket support"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot-starters:spring-boot-starter-web')
api 'org.springframework:spring-messaging'
api 'org.springframework:spring-websocket'

2
spring-boot-project/spring-boot-starters/spring-boot-starter/build.gradle

@ -5,7 +5,7 @@ plugins { @@ -5,7 +5,7 @@ plugins {
description = "Core starter, including auto-configuration support, logging and YAML"
dependencies {
api enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api project(':spring-boot-project:spring-boot')
api project(':spring-boot-project:spring-boot-autoconfigure')

7
spring-boot-project/spring-boot-test-autoconfigure/build.gradle

@ -2,18 +2,20 @@ plugins { @@ -2,18 +2,20 @@ plugins {
id 'java-library'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.deployed'
id 'org.springframework.boot.internal-dependency-management'
id 'org.springframework.boot.optional-dependencies'
}
description = 'Spring Boot Test AutoConfigure'
dependencies {
implementation enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
implementation project(':spring-boot-project:spring-boot')
implementation project(':spring-boot-project:spring-boot-test')
implementation project(':spring-boot-project:spring-boot-autoconfigure')
optional enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
optional platform(project(':spring-boot-project:spring-boot-dependencies'))
optional 'javax.json.bind:javax.json.bind-api'
optional 'javax.servlet:javax.servlet-api'
optional 'javax.transaction:javax.transaction-api'
@ -46,7 +48,6 @@ dependencies { @@ -46,7 +48,6 @@ dependencies {
optional 'org.mongodb:mongodb-driver-async'
optional 'org.mongodb:mongodb-driver-reactivestreams'
testImplementation enforcedPlatform(project(':spring-boot-project:spring-boot-parent'))
testImplementation project(':spring-boot-project:spring-boot-tools:spring-boot-test-support')
testImplementation 'ch.qos.logback:logback-classic'
testImplementation 'com.fasterxml.jackson.module:jackson-module-parameter-names'

6
spring-boot-project/spring-boot-test/build.gradle

@ -3,16 +3,17 @@ plugins { @@ -3,16 +3,17 @@ plugins {
id 'org.jetbrains.kotlin.jvm'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.deployed'
id 'org.springframework.boot.internal-dependency-management'
id 'org.springframework.boot.optional-dependencies'
}
description = 'Spring Boot Test'
dependencies {
implementation enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
api platform(project(':spring-boot-project:spring-boot-dependencies'))
implementation project(':spring-boot-project:spring-boot')
optional enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
optional platform(project(':spring-boot-project:spring-boot-dependencies'))
optional 'com.fasterxml.jackson.core:jackson-databind'
optional 'com.google.code.gson:gson'
optional 'com.jayway.jsonpath:json-path'
@ -36,7 +37,6 @@ dependencies { @@ -36,7 +37,6 @@ dependencies {
optional 'org.springframework:spring-webflux'
optional 'net.sourceforge.htmlunit:htmlunit'
testImplementation enforcedPlatform(project(':spring-boot-project:spring-boot-parent'))
testImplementation project(':spring-boot-project:spring-boot-tools:spring-boot-test-support')
testImplementation 'io.mockk:mockk'
testImplementation 'javax.json:javax.json-api'

4
spring-boot-project/spring-boot-tools/spring-boot-antlib/build.gradle

@ -2,6 +2,7 @@ plugins { @@ -2,6 +2,7 @@ plugins {
id 'java-library'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.deployed'
id 'org.springframework.boot.internal-dependency-management'
}
description = 'Spring Boot Antlib'
@ -19,10 +20,11 @@ dependencies { @@ -19,10 +20,11 @@ dependencies {
antUnit "org.apache.ant:ant-antunit:1.3"
antIvy "org.apache.ivy:ivy:2.4.0"
api platform(project(":spring-boot-project:spring-boot-dependencies"))
compileOnly project(":spring-boot-project:spring-boot-tools:spring-boot-loader")
compileOnly "org.apache.ant:ant:${antVersion}"
implementation enforcedPlatform(project(":spring-boot-project:spring-boot-dependencies"))
implementation project(":spring-boot-project:spring-boot-tools:spring-boot-loader-tools")
implementation "org.springframework:spring-core"
}

4
spring-boot-project/spring-boot-tools/spring-boot-configuration-metadata/build.gradle

@ -2,12 +2,14 @@ plugins { @@ -2,12 +2,14 @@ plugins {
id 'java-library'
id 'maven-publish'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.internal-dependency-management'
}
description = 'Spring Boot Configuration Metadata'
dependencies {
implementation enforcedPlatform(project(path: ":spring-boot-project:spring-boot-parent"))
api platform(project(path: ":spring-boot-project:spring-boot-parent"))
implementation "com.vaadin.external.google:android-json"
testImplementation "org.junit.jupiter:junit-jupiter"

7
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build.gradle

@ -4,6 +4,7 @@ plugins { @@ -4,6 +4,7 @@ plugins {
id 'org.asciidoctor.jvm.convert'
id 'org.asciidoctor.jvm.pdf'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.internal-dependency-management'
id 'org.springframework.boot.maven-repository'
id 'org.springframework.boot.optional-dependencies'
}
@ -25,14 +26,16 @@ repositories { @@ -25,14 +26,16 @@ repositories {
}
dependencies {
api platform(project(':spring-boot-project:spring-boot-dependencies'))
asciidoctorExtensions 'io.spring.asciidoctor:spring-asciidoctor-extensions-block-switch:0.3.0.RELEASE'
implementation platform(project(':spring-boot-project:spring-boot-dependencies'))
implementation project(':spring-boot-project:spring-boot-tools:spring-boot-loader-tools')
implementation 'io.spring.gradle:dependency-management-plugin'
implementation 'org.apache.commons:commons-compress'
implementation 'org.springframework:spring-core'
optional enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
optional platform(project(':spring-boot-project:spring-boot-dependencies'))
optional 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50'
testImplementation 'org.junit.jupiter:junit-jupiter'

3
spring-boot-project/spring-boot-tools/spring-boot-loader-tools/build.gradle

@ -2,6 +2,7 @@ plugins { @@ -2,6 +2,7 @@ plugins {
id 'java-library'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.deployed'
id 'org.springframework.boot.internal-dependency-management'
}
description = 'Spring Boot Loader Tools'
@ -13,11 +14,11 @@ configurations { @@ -13,11 +14,11 @@ configurations {
}
dependencies {
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api "org.apache.commons:commons-compress:1.19"
compileOnly "ch.qos.logback:logback-classic"
implementation enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
implementation "org.springframework:spring-core"
loader project(":spring-boot-project:spring-boot-tools:spring-boot-loader")

5
spring-boot-project/spring-boot-tools/spring-boot-loader/build.gradle

@ -2,14 +2,15 @@ plugins { @@ -2,14 +2,15 @@ plugins {
id 'java-library'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.deployed'
id 'org.springframework.boot.internal-dependency-management'
}
description = 'Spring Boot Loader'
dependencies {
compileOnly "org.springframework:spring-core"
api platform(project(":spring-boot-project:spring-boot-dependencies"))
implementation enforcedPlatform(project(":spring-boot-project:spring-boot-dependencies"))
compileOnly "org.springframework:spring-core"
testImplementation project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")

9
spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/build.gradle

@ -2,6 +2,7 @@ plugins { @@ -2,6 +2,7 @@ plugins {
id 'org.asciidoctor.jvm.convert'
id 'org.asciidoctor.jvm.pdf'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.internal-dependency-management'
id 'org.springframework.boot.maven-plugin'
id 'org.springframework.boot.optional-dependencies'
}
@ -13,25 +14,25 @@ configurations { @@ -13,25 +14,25 @@ configurations {
}
dependencies {
api platform(project(':spring-boot-project:spring-boot-parent'))
compileOnly 'org.apache.maven.plugin-tools:maven-plugin-annotations'
compileOnly 'org.sonatype.plexus:plexus-build-api'
implementation enforcedPlatform(project(':spring-boot-project:spring-boot-parent'))
implementation project(':spring-boot-project:spring-boot-tools:spring-boot-loader-tools')
implementation 'org.apache.maven.shared:maven-common-artifact-filters'
implementation 'org.apache.maven:maven-plugin-api'
intTestImplementation enforcedPlatform(project(':spring-boot-project:spring-boot-parent'))
intTestImplementation platform(project(':spring-boot-project:spring-boot-parent'))
intTestImplementation 'org.apache.maven.shared:maven-invoker'
intTestImplementation 'org.assertj:assertj-core'
intTestImplementation 'org.junit.jupiter:junit-jupiter'
optional enforcedPlatform(project(':spring-boot-project:spring-boot-parent'))
optional platform(project(':spring-boot-project:spring-boot-parent'))
optional 'org.apache.maven.plugins:maven-shade-plugin'
runtimeOnly 'org.sonatype.plexus:plexus-build-api'
testImplementation enforcedPlatform(project(':spring-boot-project:spring-boot-parent'))
testImplementation 'org.assertj:assertj-core'
testImplementation 'org.junit.jupiter:junit-jupiter'
testImplementation 'org.mockito:mockito-core'

4
spring-boot-project/spring-boot-tools/spring-boot-test-support/build.gradle

@ -1,11 +1,14 @@ @@ -1,11 +1,14 @@
plugins {
id 'java-library'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.internal-dependency-management'
}
description = 'Spring Boot Testing Support'
dependencies {
api platform(project(path: ":spring-boot-project:spring-boot-parent"))
compileOnly "com.datastax.oss:java-driver-core"
compileOnly "javax.servlet:javax.servlet-api"
compileOnly "junit:junit"
@ -17,7 +20,6 @@ dependencies { @@ -17,7 +20,6 @@ dependencies {
compileOnly "org.springframework.data:spring-data-redis"
compileOnly "org.testcontainers:testcontainers"
implementation enforcedPlatform(project(path: ":spring-boot-project:spring-boot-parent"))
implementation "org.apache.maven.resolver:maven-resolver-connector-basic"
implementation "org.apache.maven.resolver:maven-resolver-impl"
implementation "org.apache.maven:maven-resolver-provider"

9
spring-boot-project/spring-boot/build.gradle

@ -4,21 +4,22 @@ plugins { @@ -4,21 +4,22 @@ plugins {
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.configuration-properties'
id 'org.springframework.boot.deployed'
id 'org.springframework.boot.internal-dependency-management'
id 'org.springframework.boot.optional-dependencies'
}
description = 'Spring Boot'
dependencies {
annotationProcessor enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
annotationProcessor platform(project(':spring-boot-project:spring-boot-dependencies'))
annotationProcessor 'org.apache.logging.log4j:log4j-core'
api platform(project(':spring-boot-project:spring-boot-dependencies'))
api 'org.springframework:spring-core'
api 'org.springframework:spring-context'
implementation enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
optional enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
optional platform(project(':spring-boot-project:spring-boot-dependencies'))
optional 'ch.qos.logback:logback-classic'
optional 'com.atomikos:transactions-jdbc'
optional 'com.atomikos:transactions-jms'

2
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-ant/build.gradle

@ -29,7 +29,7 @@ dependencies { @@ -29,7 +29,7 @@ dependencies {
testRepository project(path: ':spring-boot-project:spring-boot-tools:spring-boot-loader', configuration: 'mavenRepository')
testRepository project(path: ':spring-boot-project:spring-boot-starters:spring-boot-starter', configuration: 'mavenRepository')
testImplementation enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
testImplementation platform(project(':spring-boot-project:spring-boot-dependencies'))
testImplementation project(path: ':spring-boot-project:spring-boot-tools:spring-boot-loader-tools')
testImplementation 'org.assertj:assertj-core'
testImplementation 'org.junit.jupiter:junit-jupiter'

1
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-atmosphere/build.gradle

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
plugins {
id 'java'
id 'org.springframework.boot.conventions'
id 'org.springframework.boot.internal-dependency-management'
}
description = 'Spring Boot Atmosphere smoke test'

10
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-jetty-jsp/build.gradle

@ -8,18 +8,18 @@ description = 'Spring Boot Jetty JSP smoke test' @@ -8,18 +8,18 @@ description = 'Spring Boot Jetty JSP smoke test'
dependencies {
compileOnly 'jakarta.servlet:jakarta.servlet-api'
compileOnly project(':spring-boot-project:spring-boot-starters:spring-boot-starter-jetty')
implementation(project(':spring-boot-project:spring-boot-starters:spring-boot-starter-web')) {
exclude module: 'spring-boot-starter-tomcat'
}
providedRuntime enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
providedRuntime platform(project(':spring-boot-project:spring-boot-dependencies'))
providedRuntime('org.eclipse.jetty:apache-jsp') {
exclude group: 'javax.annotation', module: 'javax.annotation-api'
}
runtimeOnly 'javax.servlet:jstl'
testImplementation project(':spring-boot-project:spring-boot-starters:spring-boot-starter-test')
testImplementation project(':spring-boot-project:spring-boot-starters:spring-boot-starter-jetty')
}

2
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-war/build.gradle

@ -10,7 +10,7 @@ dependencies { @@ -10,7 +10,7 @@ dependencies {
exclude module: 'spring-boot-starter-tomcat'
}
providedCompile enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies'))
providedCompile platform(project(':spring-boot-project:spring-boot-dependencies'))
providedCompile 'jakarta.servlet:jakarta.servlet-api'
testImplementation project(':spring-boot-project:spring-boot-starters:spring-boot-starter-test')

Loading…
Cancel
Save