Commit 0de466e0 authored by Andy Wilkinson's avatar Andy Wilkinson

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
parent e30b8bf7
...@@ -54,10 +54,6 @@ gradlePlugin { ...@@ -54,10 +54,6 @@ gradlePlugin {
id = "org.springframework.boot.conventions" id = "org.springframework.boot.conventions"
implementationClass = "org.springframework.boot.build.ConventionsPlugin" implementationClass = "org.springframework.boot.build.ConventionsPlugin"
} }
dependencyManagementPlugin {
id = "org.springframework.boot.internal-dependency-management"
implementationClass = "org.springframework.boot.build.InternalDependencyManagementPlugin"
}
deployedPlugin { deployedPlugin {
id = "org.springframework.boot.deployed" id = "org.springframework.boot.deployed"
implementationClass = "org.springframework.boot.build.DeployedPlugin" implementationClass = "org.springframework.boot.build.DeployedPlugin"
......
/*
* 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));
}
}
...@@ -17,6 +17,7 @@ package org.springframework.boot.build; ...@@ -17,6 +17,7 @@ package org.springframework.boot.build;
import java.io.File; import java.io.File;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.TreeMap; import java.util.TreeMap;
...@@ -25,8 +26,12 @@ import java.util.function.Consumer; ...@@ -25,8 +26,12 @@ import java.util.function.Consumer;
import io.spring.javaformat.gradle.FormatTask; import io.spring.javaformat.gradle.FormatTask;
import io.spring.javaformat.gradle.SpringJavaFormatPlugin; import io.spring.javaformat.gradle.SpringJavaFormatPlugin;
import org.gradle.api.Project; 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.artifacts.DependencySet; import org.gradle.api.artifacts.DependencySet;
import org.gradle.api.plugins.JavaBasePlugin; import org.gradle.api.plugins.JavaBasePlugin;
import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.plugins.quality.CheckstyleExtension; import org.gradle.api.plugins.quality.CheckstyleExtension;
import org.gradle.api.plugins.quality.CheckstylePlugin; import org.gradle.api.plugins.quality.CheckstylePlugin;
import org.gradle.api.tasks.bundling.Jar; import org.gradle.api.tasks.bundling.Jar;
...@@ -36,6 +41,7 @@ import org.gradle.api.tasks.testing.Test; ...@@ -36,6 +41,7 @@ import org.gradle.api.tasks.testing.Test;
import org.gradle.testretry.TestRetryPlugin; import org.gradle.testretry.TestRetryPlugin;
import org.gradle.testretry.TestRetryTaskExtension; import org.gradle.testretry.TestRetryTaskExtension;
import org.springframework.boot.build.optional.OptionalDependenciesPlugin;
import org.springframework.boot.build.testing.TestFailuresPlugin; import org.springframework.boot.build.testing.TestFailuresPlugin;
/** /**
...@@ -60,6 +66,7 @@ import org.springframework.boot.build.testing.TestFailuresPlugin; ...@@ -60,6 +66,7 @@ import org.springframework.boot.build.testing.TestFailuresPlugin;
* <li>{@code Implementation-Title} * <li>{@code Implementation-Title}
* <li>{@code Implementation-Version} * <li>{@code Implementation-Version}
* </ul> * </ul>
* <li>{@code spring-boot-parent} is used for dependency management</li>
* </ul> * </ul>
* *
* <p/> * <p/>
...@@ -80,6 +87,7 @@ class JavaConventions { ...@@ -80,6 +87,7 @@ class JavaConventions {
configureJavadocConventions(project); configureJavadocConventions(project);
configureTestConventions(project); configureTestConventions(project);
configureJarManifestConventions(project); configureJarManifestConventions(project);
configureDependencyManagement(project);
}); });
} }
...@@ -164,4 +172,22 @@ class JavaConventions { ...@@ -164,4 +172,22 @@ class JavaConventions {
.add(project.getDependencies().create("io.spring.javaformat:spring-javaformat-checkstyle:" + version)); .add(project.getDependencies().create("io.spring.javaformat:spring-javaformat-checkstyle:" + version));
} }
private void configureDependencyManagement(Project project) {
ConfigurationContainer configurations = project.getConfigurations();
Configuration dependencyManagement = configurations.create("dependencyManagement", (configuration) -> {
configuration.setVisible(false);
configuration.setCanBeConsumed(false);
configuration.setCanBeResolved(false);
});
configurations
.matching((configuration) -> configuration.getName().endsWith("Classpath")
|| JavaPlugin.ANNOTATION_PROCESSOR_CONFIGURATION_NAME.equals(configuration.getName()))
.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));
}
} }
...@@ -18,6 +18,7 @@ package org.springframework.boot.build; ...@@ -18,6 +18,7 @@ package org.springframework.boot.build;
import org.apache.maven.artifact.repository.MavenArtifactRepository; import org.apache.maven.artifact.repository.MavenArtifactRepository;
import org.gradle.api.Project; import org.gradle.api.Project;
import org.gradle.api.attributes.Usage;
import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.plugins.JavaPluginExtension; import org.gradle.api.plugins.JavaPluginExtension;
import org.gradle.api.publish.PublishingExtension; import org.gradle.api.publish.PublishingExtension;
...@@ -40,8 +41,12 @@ import org.gradle.api.publish.maven.plugins.MavenPublishPlugin; ...@@ -40,8 +41,12 @@ import org.gradle.api.publish.maven.plugins.MavenPublishPlugin;
* it. * it.
* <li>The poms of all {@link MavenPublication Maven publications} are customized to meet * <li>The poms of all {@link MavenPublication Maven publications} are customized to meet
* Maven Central's requirements. * Maven Central's requirements.
* <li>If the {@link JavaPlugin Java plugin} has also been applied, creation of Javadoc * <li>If the {@link JavaPlugin Java plugin} has also been applied:
* and source jars is enabled. * <ul>
* <li>Creation of Javadoc and source jars is enabled.
* <li>Publication metadata (poms and Gradle module metadata) is configured to use
* resolved versions.
* </ul>
* </ul> * </ul>
* *
* <p/> * <p/>
...@@ -62,7 +67,7 @@ class MavenPublishingConventions { ...@@ -62,7 +67,7 @@ class MavenPublishingConventions {
}); });
} }
publishing.getPublications().withType(MavenPublication.class) publishing.getPublications().withType(MavenPublication.class)
.all((mavenPublication) -> customizePom(mavenPublication.getPom(), project)); .all((mavenPublication) -> customizeMavenPublication(mavenPublication, project));
project.getPlugins().withType(JavaPlugin.class).all((javaPlugin) -> { project.getPlugins().withType(JavaPlugin.class).all((javaPlugin) -> {
JavaPluginExtension extension = project.getExtensions().getByType(JavaPluginExtension.class); JavaPluginExtension extension = project.getExtensions().getByType(JavaPluginExtension.class);
extension.withJavadocJar(); extension.withJavadocJar();
...@@ -71,6 +76,12 @@ class MavenPublishingConventions { ...@@ -71,6 +76,12 @@ class MavenPublishingConventions {
}); });
} }
private void customizeMavenPublication(MavenPublication publication, Project project) {
customizePom(publication.getPom(), project);
project.getPlugins().withType(JavaPlugin.class)
.all((javaPlugin) -> customizeJavaMavenPublication(publication, project));
}
private void customizePom(MavenPom pom, Project project) { private void customizePom(MavenPom pom, Project project) {
pom.getUrl().set("https://spring.io/projects/spring-boot"); pom.getUrl().set("https://spring.io/projects/spring-boot");
pom.getName().set(project.provider(project::getName)); pom.getName().set(project.provider(project::getName));
...@@ -82,6 +93,13 @@ class MavenPublishingConventions { ...@@ -82,6 +93,13 @@ class MavenPublishingConventions {
pom.issueManagement(this::customizeIssueManagement); pom.issueManagement(this::customizeIssueManagement);
} }
private void customizeJavaMavenPublication(MavenPublication publication, Project project) {
publication.versionMapping((strategy) -> strategy.usage(Usage.JAVA_API, (mappingStrategy) -> mappingStrategy
.fromResolutionOf(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME)));
publication.versionMapping((strategy) -> strategy.usage(Usage.JAVA_RUNTIME,
(mappingStrategy) -> mappingStrategy.fromResolutionResult()));
}
private void customizeOrganization(MavenPomOrganization organization) { private void customizeOrganization(MavenPomOrganization organization) {
organization.getName().set("Pivotal Software, Inc."); organization.getName().set("Pivotal Software, Inc.");
organization.getUrl().set("https://spring.io"); organization.getUrl().set("https://spring.io");
......
...@@ -29,7 +29,6 @@ import org.gradle.api.plugins.PluginContainer; ...@@ -29,7 +29,6 @@ import org.gradle.api.plugins.PluginContainer;
import org.springframework.boot.build.ConventionsPlugin; import org.springframework.boot.build.ConventionsPlugin;
import org.springframework.boot.build.DeployedPlugin; 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.CheckClasspathForConflicts;
import org.springframework.boot.build.classpath.CheckClasspathForProhibitedDependencies; import org.springframework.boot.build.classpath.CheckClasspathForProhibitedDependencies;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
...@@ -47,7 +46,6 @@ public class StarterPlugin implements Plugin<Project> { ...@@ -47,7 +46,6 @@ public class StarterPlugin implements Plugin<Project> {
plugins.apply(DeployedPlugin.class); plugins.apply(DeployedPlugin.class);
plugins.apply(JavaLibraryPlugin.class); plugins.apply(JavaLibraryPlugin.class);
plugins.apply(ConventionsPlugin.class); plugins.apply(ConventionsPlugin.class);
plugins.apply(InternalDependencyManagementPlugin.class);
StarterMetadata starterMetadata = project.getTasks().create("starterMetadata", StarterMetadata.class); StarterMetadata starterMetadata = project.getTasks().create("starterMetadata", StarterMetadata.class);
ConfigurationContainer configurations = project.getConfigurations(); ConfigurationContainer configurations = project.getConfigurations();
Configuration runtimeClasspath = configurations.getByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME); Configuration runtimeClasspath = configurations.getByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME);
......
...@@ -51,6 +51,17 @@ class ConventionsPluginTests { ...@@ -51,6 +51,17 @@ class ConventionsPluginTests {
void setup(@TempDir File projectDir) throws IOException { void setup(@TempDir File projectDir) throws IOException {
this.projectDir = projectDir; this.projectDir = projectDir;
this.buildFile = new File(this.projectDir, "build.gradle"); this.buildFile = new File(this.projectDir, "build.gradle");
File settingsFile = new File(this.projectDir, "settings.gradle");
try (PrintWriter out = new PrintWriter(new FileWriter(settingsFile))) {
out.println("include ':spring-boot-project:spring-boot-parent'");
}
File springBootParent = new File(this.projectDir, "spring-boot-project/spring-boot-parent/build.gradle");
springBootParent.getParentFile().mkdirs();
try (PrintWriter out = new PrintWriter(new FileWriter(springBootParent))) {
out.println("plugins {");
out.println(" id 'java-platform'");
out.println("}");
}
} }
@Test @Test
......
...@@ -5,22 +5,21 @@ plugins { ...@@ -5,22 +5,21 @@ plugins {
id "org.springframework.boot.auto-configuration" id "org.springframework.boot.auto-configuration"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
id "org.springframework.boot.optional-dependencies" id "org.springframework.boot.optional-dependencies"
} }
description = "Spring Boot Actuator AutoConfigure" description = "Spring Boot Actuator AutoConfigure"
configurations { configurations {
asciidoctorExtensions asciidoctorExtensions {
extendsFrom dependencyManagement
}
documentation documentation
} }
dependencies { dependencies {
asciidoctorExtensions(platform(project(":spring-boot-project:spring-boot-dependencies")))
asciidoctorExtensions("org.springframework.restdocs:spring-restdocs-asciidoctor") asciidoctorExtensions("org.springframework.restdocs:spring-restdocs-asciidoctor")
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot-actuator")) api(project(":spring-boot-project:spring-boot-actuator"))
api(project(":spring-boot-project:spring-boot")) api(project(":spring-boot-project:spring-boot"))
...@@ -29,7 +28,6 @@ dependencies { ...@@ -29,7 +28,6 @@ dependencies {
implementation("com.fasterxml.jackson.core:jackson-databind") implementation("com.fasterxml.jackson.core:jackson-databind")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310") implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
optional(platform(project(":spring-boot-project:spring-boot-dependencies")))
optional("ch.qos.logback:logback-classic") optional("ch.qos.logback:logback-classic")
optional("com.fasterxml.jackson.dataformat:jackson-dataformat-xml") optional("com.fasterxml.jackson.dataformat:jackson-dataformat-xml")
optional("com.github.ben-manes.caffeine:caffeine") optional("com.github.ben-manes.caffeine:caffeine")
......
...@@ -9,10 +9,8 @@ plugins { ...@@ -9,10 +9,8 @@ plugins {
description = "Spring Boot Actuator" description = "Spring Boot Actuator"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot")) api(project(":spring-boot-project:spring-boot"))
optional(platform(project(":spring-boot-project:spring-boot-dependencies")))
optional("com.fasterxml.jackson.core:jackson-databind") optional("com.fasterxml.jackson.core:jackson-databind")
optional("com.github.ben-manes.caffeine:caffeine") optional("com.github.ben-manes.caffeine:caffeine")
optional("com.hazelcast:hazelcast") optional("com.hazelcast:hazelcast")
......
...@@ -4,7 +4,6 @@ plugins { ...@@ -4,7 +4,6 @@ plugins {
id "org.springframework.boot.auto-configuration" id "org.springframework.boot.auto-configuration"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
id "org.springframework.boot.optional-dependencies" id "org.springframework.boot.optional-dependencies"
} }
...@@ -12,9 +11,7 @@ description = "Spring Boot AutoConfigure" ...@@ -12,9 +11,7 @@ description = "Spring Boot AutoConfigure"
dependencies { dependencies {
api(project(":spring-boot-project:spring-boot")) api(project(":spring-boot-project:spring-boot"))
api(platform(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-jdbc")
optional("com.atomikos:transactions-jta") optional("com.atomikos:transactions-jta")
optional("com.fasterxml.jackson.core:jackson-databind") optional("com.fasterxml.jackson.core:jackson-databind")
...@@ -151,7 +148,6 @@ dependencies { ...@@ -151,7 +148,6 @@ dependencies {
optional("org.thymeleaf.extras:thymeleaf-extras-springsecurity5") optional("org.thymeleaf.extras:thymeleaf-extras-springsecurity5")
optional("redis.clients:jedis") optional("redis.clients:jedis")
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-tools:spring-boot-test-support"))
testImplementation(project(":spring-boot-project:spring-boot-test")) testImplementation(project(":spring-boot-project:spring-boot-test"))
testImplementation("ch.qos.logback:logback-classic") testImplementation("ch.qos.logback:logback-classic")
......
...@@ -3,7 +3,6 @@ plugins { ...@@ -3,7 +3,6 @@ plugins {
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.integration-test" id "org.springframework.boot.integration-test"
id "org.springframework.boot.internal-dependency-management"
} }
description = "Spring Boot CLI" description = "Spring Boot CLI"
...@@ -22,7 +21,6 @@ dependencies { ...@@ -22,7 +21,6 @@ dependencies {
dependenciesBom(project(path: ":spring-boot-project:spring-boot-dependencies", configuration: "effectiveBom")) dependenciesBom(project(path: ":spring-boot-project:spring-boot-dependencies", configuration: "effectiveBom"))
implementation(platform(project(":spring-boot-project:spring-boot-parent")))
implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-loader-tools")) implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-loader-tools"))
implementation("com.vaadin.external.google:android-json") implementation("com.vaadin.external.google:android-json")
implementation("jline:jline") implementation("jline:jline")
...@@ -50,7 +48,6 @@ dependencies { ...@@ -50,7 +48,6 @@ dependencies {
implementation("org.springframework:spring-core") implementation("org.springframework:spring-core")
implementation("org.springframework.security:spring-security-crypto") implementation("org.springframework.security:spring-security-crypto")
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-loader-tools"))
intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
intTestImplementation("org.assertj:assertj-core") intTestImplementation("org.assertj:assertj-core")
......
...@@ -4,18 +4,18 @@ plugins { ...@@ -4,18 +4,18 @@ plugins {
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.integration-test" id "org.springframework.boot.integration-test"
id "org.springframework.boot.internal-dependency-management"
id "org.springframework.boot.optional-dependencies" id "org.springframework.boot.optional-dependencies"
} }
description = "Spring Boot Developer Tools" description = "Spring Boot Developer Tools"
configurations { configurations {
intTestDependencies intTestDependencies {
extendsFrom dependencyManagement
}
} }
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot")) api(project(":spring-boot-project:spring-boot"))
api(project(":spring-boot-project:spring-boot-autoconfigure")) api(project(":spring-boot-project:spring-boot-autoconfigure"))
...@@ -32,7 +32,6 @@ dependencies { ...@@ -32,7 +32,6 @@ dependencies {
intTestRuntimeOnly("org.springframework:spring-web") intTestRuntimeOnly("org.springframework:spring-web")
optional(platform(project(":spring-boot-project:spring-boot-dependencies")))
optional("javax.servlet:javax.servlet-api") optional("javax.servlet:javax.servlet-api")
optional("org.apache.derby:derby") optional("org.apache.derby:derby")
optional("org.hibernate:hibernate-core") optional("org.hibernate:hibernate-core")
......
...@@ -10,7 +10,9 @@ description = "Spring Boot Docs" ...@@ -10,7 +10,9 @@ description = "Spring Boot Docs"
configurations { configurations {
actuatorApiDocumentation actuatorApiDocumentation
asciidoctorExtensions asciidoctorExtensions {
extendsFrom dependencyManagement
}
autoConfiguration autoConfiguration
configurationProperties configurationProperties
gradlePluginDocumentation gradlePluginDocumentation
...@@ -40,7 +42,6 @@ plugins.withType(EclipsePlugin) { ...@@ -40,7 +42,6 @@ plugins.withType(EclipsePlugin) {
dependencies { dependencies {
actuatorApiDocumentation(project(path: ":spring-boot-project:spring-boot-actuator-autoconfigure", configuration: "documentation")) actuatorApiDocumentation(project(path: ":spring-boot-project:spring-boot-actuator-autoconfigure", configuration: "documentation"))
asciidoctorExtensions(platform(project(":spring-boot-project:spring-boot-parent")))
asciidoctorExtensions("io.spring.asciidoctor:spring-asciidoctor-extensions-spring-boot") asciidoctorExtensions("io.spring.asciidoctor:spring-asciidoctor-extensions-spring-boot")
asciidoctorExtensions(project(path: ":spring-boot-project:spring-boot-actuator-autoconfigure")) asciidoctorExtensions(project(path: ":spring-boot-project:spring-boot-actuator-autoconfigure"))
asciidoctorExtensions(project(path: ":spring-boot-project:spring-boot-autoconfigure")) asciidoctorExtensions(project(path: ":spring-boot-project:spring-boot-autoconfigure"))
......
...@@ -2,7 +2,6 @@ plugins { ...@@ -2,7 +2,6 @@ plugins {
id "java-platform" id "java-platform"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
} }
description = "Spring Boot Parent" description = "Spring Boot Parent"
......
...@@ -2,13 +2,11 @@ plugins { ...@@ -2,13 +2,11 @@ plugins {
id "java-library" id "java-library"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
} }
description = "Spring Boot Properties Migrator" description = "Spring Boot Properties Migrator"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot")) api(project(":spring-boot-project:spring-boot"))
api(project(":spring-boot-project:spring-boot-tools:spring-boot-configuration-metadata")) api(project(":spring-boot-project:spring-boot-tools:spring-boot-configuration-metadata"))
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for JMS messaging using Apache ActiveMQ" description = "Starter for JMS messaging using Apache ActiveMQ"
dependencies { 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"))
api("org.springframework:spring-jms") api("org.springframework:spring-jms")
api("org.apache.activemq:activemq-broker") { api("org.apache.activemq:activemq-broker") {
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Boot's Actuator which provides production ready features to help you monitor and manage your application" description = "Starter for using Spring Boot's Actuator which provides production ready features to help you monitor and manage your application"
dependencies { 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"))
api(project(":spring-boot-project:spring-boot-actuator-autoconfigure")) api(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
api("io.micrometer:micrometer-core") api("io.micrometer:micrometer-core")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring AMQP and Rabbit MQ" description = "Starter for using Spring AMQP and Rabbit MQ"
dependencies { 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"))
api("org.springframework:spring-messaging") api("org.springframework:spring-messaging")
api("org.springframework.amqp:spring-rabbit") api("org.springframework.amqp:spring-rabbit")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for aspect-oriented programming with Spring AOP and AspectJ" description = "Starter for aspect-oriented programming with Spring AOP and AspectJ"
dependencies { 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"))
api("org.springframework:spring-aop") api("org.springframework:spring-aop")
api("org.aspectj:aspectjweaver") api("org.aspectj:aspectjweaver")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for JMS messaging using Apache Artemis" description = "Starter for JMS messaging using Apache Artemis"
dependencies { 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"))
api("jakarta.jms:jakarta.jms-api") api("jakarta.jms:jakarta.jms-api")
api("jakarta.json:jakarta.json-api") api("jakarta.json:jakarta.json-api")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Batch" description = "Starter for using Spring Batch"
dependencies { 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"))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc"))
api("org.springframework.batch:spring-batch-core") api("org.springframework.batch:spring-batch-core")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Framework's caching support" description = "Starter for using Spring Framework's caching support"
dependencies { 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"))
api("org.springframework:spring-context-support") api("org.springframework:spring-context-support")
} }
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Cassandra distributed database and Spring Data Cassandra Reactive" description = "Starter for using Cassandra distributed database and Spring Data Cassandra Reactive"
dependencies { 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"))
api("org.springframework:spring-tx") api("org.springframework:spring-tx")
api("org.springframework.data:spring-data-cassandra") { api("org.springframework.data:spring-data-cassandra") {
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Cassandra distributed database and Spring Data Cassandra" description = "Starter for using Cassandra distributed database and Spring Data Cassandra"
dependencies { 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"))
api("org.springframework:spring-tx") api("org.springframework:spring-tx")
api("org.springframework.data:spring-data-cassandra") { api("org.springframework.data:spring-data-cassandra") {
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Couchbase document-oriented database and Spring Data Couchbase Reactive" description = "Starter for using Couchbase document-oriented database and Spring Data Couchbase Reactive"
dependencies { 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"))
api("io.projectreactor:reactor-core") api("io.projectreactor:reactor-core")
api("io.reactivex:rxjava-reactive-streams") api("io.reactivex:rxjava-reactive-streams")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Couchbase document-oriented database and Spring Data Couchbase" description = "Starter for using Couchbase document-oriented database and Spring Data Couchbase"
dependencies { 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"))
api("org.springframework.data:spring-data-couchbase") { api("org.springframework.data:spring-data-couchbase") {
exclude group: "com.couchbase.client", module: "encryption" exclude group: "com.couchbase.client", module: "encryption"
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Elasticsearch search and analytics engine and Spring Data Elasticsearch" description = "Starter for using Elasticsearch search and analytics engine and Spring Data Elasticsearch"
dependencies { 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"))
api("org.springframework.data:spring-data-elasticsearch") { api("org.springframework.data:spring-data-elasticsearch") {
exclude group: "org.elasticsearch.client", module: "transport" exclude group: "org.elasticsearch.client", module: "transport"
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Data JDBC" description = "Starter for using Spring Data JDBC"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc"))
api("org.springframework.data:spring-data-jdbc") api("org.springframework.data:spring-data-jdbc")
} }
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Data JPA with Hibernate" description = "Starter for using Spring Data JPA with Hibernate"
dependencies { 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-aop"))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc"))
api("jakarta.transaction:jakarta.transaction-api") api("jakarta.transaction:jakarta.transaction-api")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Data LDAP" description = "Starter for using Spring Data LDAP"
dependencies { 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"))
api("org.springframework.data:spring-data-ldap") api("org.springframework.data:spring-data-ldap")
} }
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using MongoDB document-oriented database and Spring Data MongoDB Reactive" description = "Starter for using MongoDB document-oriented database and Spring Data MongoDB Reactive"
dependencies { 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"))
api("io.projectreactor:reactor-core") api("io.projectreactor:reactor-core")
api("org.mongodb:mongodb-driver-reactivestreams") api("org.mongodb:mongodb-driver-reactivestreams")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using MongoDB document-oriented database and Spring Data MongoDB" description = "Starter for using MongoDB document-oriented database and Spring Data MongoDB"
dependencies { 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"))
api("org.mongodb:mongodb-driver-sync") api("org.mongodb:mongodb-driver-sync")
api("org.springframework.data:spring-data-mongodb") api("org.springframework.data:spring-data-mongodb")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Neo4j graph database and Spring Data Neo4j" description = "Starter for using Neo4j graph database and Spring Data Neo4j"
dependencies { 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"))
api("org.springframework.data:spring-data-neo4j") api("org.springframework.data:spring-data-neo4j")
} }
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Data R2DBC" description = "Starter for using Spring Data R2DBC"
dependencies { 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"))
api("org.springframework.data:spring-data-r2dbc") api("org.springframework.data:spring-data-r2dbc")
api("io.r2dbc:r2dbc-spi") api("io.r2dbc:r2dbc-spi")
......
...@@ -5,6 +5,5 @@ plugins { ...@@ -5,6 +5,5 @@ plugins {
description = "Starter for using Redis key-value data store with Spring Data Redis reactive and the Lettuce client" description = "Starter for using Redis key-value data store with Spring Data Redis reactive and the Lettuce client"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-redis")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-redis"))
} }
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Redis key-value data store with Spring Data Redis and the Lettuce client" description = "Starter for using Redis key-value data store with Spring Data Redis and the Lettuce client"
dependencies { 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"))
api("org.springframework.data:spring-data-redis") api("org.springframework.data:spring-data-redis")
api("io.lettuce:lettuce-core") api("io.lettuce:lettuce-core")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for exposing Spring Data repositories over REST using Spring Data REST" description = "Starter for exposing Spring Data repositories over REST using Spring Data REST"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
api("org.springframework.data:spring-data-rest-webmvc") api("org.springframework.data:spring-data-rest-webmvc")
} }
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using the Apache Solr search platform with Spring Data Solr" description = "Starter for using the Apache Solr search platform with Spring Data Solr"
dependencies { 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"))
api("org.apache.solr:solr-solrj") { api("org.apache.solr:solr-solrj") {
exclude group: "org.slf4j", module: "jcl-over-slf4j" exclude group: "org.slf4j", module: "jcl-over-slf4j"
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for building MVC web applications using FreeMarker views" description = "Starter for building MVC web applications using FreeMarker views"
dependencies { 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"))
api("org.freemarker:freemarker") api("org.freemarker:freemarker")
api("org.springframework:spring-context-support") api("org.springframework:spring-context-support")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for building MVC web applications using Groovy Templates views" description = "Starter for building MVC web applications using Groovy Templates views"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
api("org.codehaus.groovy:groovy-templates") api("org.codehaus.groovy:groovy-templates")
} }
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for building hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS" description = "Starter for building hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
api("org.springframework.hateoas:spring-hateoas") api("org.springframework.hateoas:spring-hateoas")
} }
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Integration" description = "Starter for using Spring Integration"
dependencies { 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-aop"))
api("org.springframework.integration:spring-integration-core") api("org.springframework.integration:spring-integration-core")
} }
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using JDBC with the HikariCP connection pool" description = "Starter for using JDBC with the HikariCP connection pool"
dependencies { 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"))
api("com.zaxxer:HikariCP") api("com.zaxxer:HikariCP")
api("org.springframework:spring-jdbc") api("org.springframework:spring-jdbc")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for building RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-web" description = "Starter for building RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-web"
dependencies { 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-json"))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-tomcat")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-tomcat"))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-validation")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-validation"))
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Jetty as the embedded servlet container. An alternative to spring-boot-starter-tomcat" description = "Starter for using Jetty as the embedded servlet container. An alternative to spring-boot-starter-tomcat"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api("jakarta.servlet:jakarta.servlet-api") api("jakarta.servlet:jakarta.servlet-api")
api("jakarta.websocket:jakarta.websocket-api") api("jakarta.websocket:jakarta.websocket-api")
api("org.eclipse.jetty:jetty-servlets") api("org.eclipse.jetty:jetty-servlets")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using jOOQ to access SQL databases. An alternative to spring-boot-starter-data-jpa or spring-boot-starter-jdbc" description = "Starter for using jOOQ to access SQL databases. An alternative to spring-boot-starter-data-jpa or spring-boot-starter-jdbc"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc"))
api("jakarta.activation:jakarta.activation-api") api("jakarta.activation:jakarta.activation-api")
api("jakarta.xml.bind:jakarta.xml.bind-api") api("jakarta.xml.bind:jakarta.xml.bind-api")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for reading and writing json" description = "Starter for reading and writing json"
dependencies { 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"))
api("org.springframework:spring-web") api("org.springframework:spring-web")
api("com.fasterxml.jackson.core:jackson-databind") api("com.fasterxml.jackson.core:jackson-databind")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for JTA transactions using Atomikos" description = "Starter for JTA transactions using Atomikos"
dependencies { 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"))
api("com.atomikos:transactions-jms") api("com.atomikos:transactions-jms")
api("com.atomikos:transactions-jta") api("com.atomikos:transactions-jta")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for JTA transactions using Bitronix. Deprecated since 2.3.0" description = "Starter for JTA transactions using Bitronix. Deprecated since 2.3.0"
dependencies { 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"))
api("jakarta.jms:jakarta.jms-api") api("jakarta.jms:jakarta.jms-api")
api("jakarta.transaction:jakarta.transaction-api") api("jakarta.transaction:jakarta.transaction-api")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Log4j2 for logging. An alternative to spring-boot-starter-logging" description = "Starter for using Log4j2 for logging. An alternative to spring-boot-starter-logging"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api("org.apache.logging.log4j:log4j-slf4j-impl") api("org.apache.logging.log4j:log4j-slf4j-impl")
api("org.apache.logging.log4j:log4j-core") api("org.apache.logging.log4j:log4j-core")
api("org.apache.logging.log4j:log4j-jul") api("org.apache.logging.log4j:log4j-jul")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for logging using Logback. Default logging starter" description = "Starter for logging using Logback. Default logging starter"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api("ch.qos.logback:logback-classic") api("ch.qos.logback:logback-classic")
api("org.apache.logging.log4j:log4j-to-slf4j") api("org.apache.logging.log4j:log4j-to-slf4j")
api("org.slf4j:jul-to-slf4j") api("org.slf4j:jul-to-slf4j")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Java Mail and Spring Framework's email sending support" description = "Starter for using Java Mail and Spring Framework's email sending support"
dependencies { 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"))
api("org.springframework:spring-context-support") api("org.springframework:spring-context-support")
api("com.sun.mail:jakarta.mail") api("com.sun.mail:jakarta.mail")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for building web applications using Mustache views" description = "Starter for building web applications using Mustache views"
dependencies { 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"))
api("com.samskivert:jmustache") api("com.samskivert:jmustache")
} }
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Security's OAuth2/OpenID Connect client features" description = "Starter for using Spring Security's OAuth2/OpenID Connect client features"
dependencies { 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"))
api("com.sun.mail:jakarta.mail") api("com.sun.mail:jakarta.mail")
api("org.springframework.security:spring-security-config") api("org.springframework.security:spring-security-config")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Security's OAuth2 resource server features" description = "Starter for using Spring Security's OAuth2 resource server features"
dependencies { 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"))
api("org.springframework.security:spring-security-config") api("org.springframework.security:spring-security-config")
api("org.springframework.security:spring-security-core") api("org.springframework.security:spring-security-core")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using the Quartz scheduler" description = "Starter for using the Quartz scheduler"
dependencies { 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"))
api("org.springframework:spring-context-support") api("org.springframework:spring-context-support")
api("org.springframework:spring-tx") api("org.springframework:spring-tx")
......
...@@ -5,6 +5,5 @@ plugins { ...@@ -5,6 +5,5 @@ plugins {
description = "Starter for using Reactor Netty as the embedded reactive HTTP server." description = "Starter for using Reactor Netty as the embedded reactive HTTP server."
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api("io.projectreactor.netty:reactor-netty") api("io.projectreactor.netty:reactor-netty")
} }
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for building RSocket clients and servers" description = "Starter for building RSocket clients and servers"
dependencies { 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"))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-json")) 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")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-reactor-netty"))
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Security" description = "Starter for using Spring Security"
dependencies { 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"))
api("org.springframework:spring-aop") api("org.springframework:spring-aop")
api("org.springframework.security:spring-security-config") api("org.springframework.security:spring-security-config")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for testing Spring Boot applications with libraries including JUnit, Hamcrest and Mockito" description = "Starter for testing Spring Boot applications with libraries including JUnit, Hamcrest and Mockito"
dependencies { 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"))
api(project(":spring-boot-project:spring-boot-test")) api(project(":spring-boot-project:spring-boot-test"))
api(project(":spring-boot-project:spring-boot-test-autoconfigure")) api(project(":spring-boot-project:spring-boot-test-autoconfigure"))
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for building MVC web applications using Thymeleaf views" description = "Starter for building MVC web applications using Thymeleaf views"
dependencies { 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"))
api("org.thymeleaf:thymeleaf-spring5") api("org.thymeleaf:thymeleaf-spring5")
api("org.thymeleaf.extras:thymeleaf-extras-java8time") api("org.thymeleaf.extras:thymeleaf-extras-java8time")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Tomcat as the embedded servlet container. Default servlet container starter used by spring-boot-starter-web" description = "Starter for using Tomcat as the embedded servlet container. Default servlet container starter used by spring-boot-starter-web"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api("jakarta.annotation:jakarta.annotation-api") api("jakarta.annotation:jakarta.annotation-api")
api("org.apache.tomcat.embed:tomcat-embed-core") { api("org.apache.tomcat.embed:tomcat-embed-core") {
exclude group: "org.apache.tomcat", module: "tomcat-annotations-api" exclude group: "org.apache.tomcat", module: "tomcat-annotations-api"
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Undertow as the embedded servlet container. An alternative to spring-boot-starter-tomcat" description = "Starter for using Undertow as the embedded servlet container. An alternative to spring-boot-starter-tomcat"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api("io.undertow:undertow-core") api("io.undertow:undertow-core")
api("io.undertow:undertow-servlet") { api("io.undertow:undertow-servlet") {
exclude group: "org.jboss.spec.javax.annotation", module: "jboss-annotations-api_1.2_spec" exclude group: "org.jboss.spec.javax.annotation", module: "jboss-annotations-api_1.2_spec"
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Java Bean Validation with Hibernate Validator" description = "Starter for using Java Bean Validation with Hibernate Validator"
dependencies { 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"))
api("org.glassfish:jakarta.el") api("org.glassfish:jakarta.el")
api("org.hibernate.validator:hibernate-validator") api("org.hibernate.validator:hibernate-validator")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Web Services" description = "Starter for using Spring Web Services"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
api("com.sun.xml.messaging.saaj:saaj-impl") api("com.sun.xml.messaging.saaj:saaj-impl")
api("jakarta.xml.ws:jakarta.xml.ws-api") { api("jakarta.xml.ws:jakarta.xml.ws-api") {
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container" description = "Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container"
dependencies { 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"))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-json")) 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-tomcat"))
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for building WebFlux applications using Spring Framework's Reactive Web support" description = "Starter for building WebFlux applications using Spring Framework's Reactive Web support"
dependencies { 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"))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-json")) 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")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-reactor-netty"))
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Starter for building WebSocket applications using Spring Framework's WebSocket support" description = "Starter for building WebSocket applications using Spring Framework's WebSocket support"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
api("org.springframework:spring-messaging") api("org.springframework:spring-messaging")
api("org.springframework:spring-websocket") api("org.springframework:spring-websocket")
......
...@@ -5,7 +5,6 @@ plugins { ...@@ -5,7 +5,6 @@ plugins {
description = "Core starter, including auto-configuration support, logging and YAML" description = "Core starter, including auto-configuration support, logging and YAML"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot")) api(project(":spring-boot-project:spring-boot"))
api(project(":spring-boot-project:spring-boot-autoconfigure")) api(project(":spring-boot-project:spring-boot-autoconfigure"))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-logging")) api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-logging"))
......
...@@ -2,19 +2,16 @@ plugins { ...@@ -2,19 +2,16 @@ plugins {
id "java-library" id "java-library"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
id "org.springframework.boot.optional-dependencies" id "org.springframework.boot.optional-dependencies"
} }
description = "Spring Boot Test AutoConfigure" description = "Spring Boot Test AutoConfigure"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot")) api(project(":spring-boot-project:spring-boot"))
api(project(":spring-boot-project:spring-boot-test")) api(project(":spring-boot-project:spring-boot-test"))
api(project(":spring-boot-project:spring-boot-autoconfigure")) api(project(":spring-boot-project:spring-boot-autoconfigure"))
optional(platform(project(":spring-boot-project:spring-boot-dependencies")))
optional("javax.json.bind:javax.json.bind-api") optional("javax.json.bind:javax.json.bind-api")
optional("javax.servlet:javax.servlet-api") optional("javax.servlet:javax.servlet-api")
optional("javax.transaction:javax.transaction-api") optional("javax.transaction:javax.transaction-api")
......
...@@ -3,17 +3,14 @@ plugins { ...@@ -3,17 +3,14 @@ plugins {
id "org.jetbrains.kotlin.jvm" id "org.jetbrains.kotlin.jvm"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
id "org.springframework.boot.optional-dependencies" id "org.springframework.boot.optional-dependencies"
} }
description = "Spring Boot Test" description = "Spring Boot Test"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot")) api(project(":spring-boot-project:spring-boot"))
optional(platform(project(":spring-boot-project:spring-boot-dependencies")))
optional("com.fasterxml.jackson.core:jackson-databind") optional("com.fasterxml.jackson.core:jackson-databind")
optional("com.google.code.gson:gson") optional("com.google.code.gson:gson")
optional("com.jayway.jsonpath:json-path") optional("com.jayway.jsonpath:json-path")
......
...@@ -2,7 +2,6 @@ plugins { ...@@ -2,7 +2,6 @@ plugins {
id "java-library" id "java-library"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
} }
description = "Spring Boot Antlib" description = "Spring Boot Antlib"
...@@ -20,8 +19,6 @@ dependencies { ...@@ -20,8 +19,6 @@ dependencies {
antUnit "org.apache.ant:ant-antunit:1.3" antUnit "org.apache.ant:ant-antunit:1.3"
antIvy "org.apache.ivy:ivy:2.5.0" antIvy "org.apache.ivy:ivy:2.5.0"
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
compileOnly(project(":spring-boot-project:spring-boot-tools:spring-boot-loader")) compileOnly(project(":spring-boot-project:spring-boot-tools:spring-boot-loader"))
compileOnly("org.apache.ant:ant:${antVersion}") compileOnly("org.apache.ant:ant:${antVersion}")
......
...@@ -2,13 +2,11 @@ plugins { ...@@ -2,13 +2,11 @@ plugins {
id "java-library" id "java-library"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
} }
description = "Spring Boot Buildpack Platform" description = "Spring Boot Buildpack Platform"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-parent")))
api("com.fasterxml.jackson.core:jackson-databind") api("com.fasterxml.jackson.core:jackson-databind")
api("com.fasterxml.jackson.module:jackson-module-parameter-names") api("com.fasterxml.jackson.module:jackson-module-parameter-names")
api("net.java.dev.jna:jna-platform") api("net.java.dev.jna:jna-platform")
......
...@@ -2,7 +2,6 @@ plugins { ...@@ -2,7 +2,6 @@ plugins {
id "java-library" id "java-library"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
} }
description = "Spring Boot Configuration Metadata" description = "Spring Boot Configuration Metadata"
......
...@@ -4,7 +4,6 @@ plugins { ...@@ -4,7 +4,6 @@ plugins {
id "org.asciidoctor.jvm.convert" id "org.asciidoctor.jvm.convert"
id "org.asciidoctor.jvm.pdf" id "org.asciidoctor.jvm.pdf"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.internal-dependency-management"
id "org.springframework.boot.maven-repository" id "org.springframework.boot.maven-repository"
id "org.springframework.boot.optional-dependencies" id "org.springframework.boot.optional-dependencies"
} }
...@@ -12,7 +11,9 @@ plugins { ...@@ -12,7 +11,9 @@ plugins {
description = "Spring Boot Gradle Plugin" description = "Spring Boot Gradle Plugin"
configurations { configurations {
asciidoctorExtensions asciidoctorExtensions {
extendsFrom dependencyManagement
}
documentation documentation
} }
...@@ -26,19 +27,14 @@ repositories { ...@@ -26,19 +27,14 @@ repositories {
} }
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
asciidoctorExtensions(platform(project(":spring-boot-project:spring-boot-parent")))
asciidoctorExtensions("io.spring.asciidoctor:spring-asciidoctor-extensions-block-switch") asciidoctorExtensions("io.spring.asciidoctor:spring-asciidoctor-extensions-block-switch")
implementation(platform(project(":spring-boot-project:spring-boot-parent")))
implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-buildpack-platform")) implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-buildpack-platform"))
implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-loader-tools")) implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-loader-tools"))
implementation("io.spring.gradle:dependency-management-plugin") implementation("io.spring.gradle:dependency-management-plugin")
implementation("org.apache.commons:commons-compress") implementation("org.apache.commons:commons-compress")
implementation("org.springframework:spring-core") implementation("org.springframework:spring-core")
optional(platform(project(":spring-boot-project:spring-boot-dependencies")))
optional("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50") optional("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50")
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
......
...@@ -2,14 +2,11 @@ plugins { ...@@ -2,14 +2,11 @@ plugins {
id "java-library" id "java-library"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
} }
description = "Spring Boot Layers Tools" description = "Spring Boot Layers Tools"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-parent")))
implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-loader")) implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-loader"))
implementation("org.springframework:spring-core") implementation("org.springframework:spring-core")
...@@ -17,4 +14,3 @@ dependencies { ...@@ -17,4 +14,3 @@ dependencies {
testImplementation("org.junit.jupiter:junit-jupiter") testImplementation("org.junit.jupiter:junit-jupiter")
testImplementation("org.mockito:mockito-core") testImplementation("org.mockito:mockito-core")
} }
...@@ -2,7 +2,6 @@ plugins { ...@@ -2,7 +2,6 @@ plugins {
id "java-library" id "java-library"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
} }
description = "Spring Boot Loader Tools" description = "Spring Boot Loader Tools"
...@@ -10,12 +9,15 @@ description = "Spring Boot Loader Tools" ...@@ -10,12 +9,15 @@ description = "Spring Boot Loader Tools"
def generatedResources = "${buildDir}/generated-resources/main" def generatedResources = "${buildDir}/generated-resources/main"
configurations { configurations {
loader loader {
jarmode extendsFrom dependencyManagement
}
jarmode {
extendsFrom dependencyManagement
}
} }
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-parent")))
api("org.apache.commons:commons-compress") api("org.apache.commons:commons-compress")
api("org.springframework:spring-core") api("org.springframework:spring-core")
......
...@@ -2,14 +2,11 @@ plugins { ...@@ -2,14 +2,11 @@ plugins {
id "java-library" id "java-library"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
} }
description = "Spring Boot Loader" description = "Spring Boot Loader"
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
compileOnly("org.springframework:spring-core") compileOnly("org.springframework:spring-core")
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
......
...@@ -2,7 +2,6 @@ plugins { ...@@ -2,7 +2,6 @@ plugins {
id "org.asciidoctor.jvm.convert" id "org.asciidoctor.jvm.convert"
id "org.asciidoctor.jvm.pdf" id "org.asciidoctor.jvm.pdf"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.internal-dependency-management"
id "org.springframework.boot.maven-plugin" id "org.springframework.boot.maven-plugin"
id "org.springframework.boot.optional-dependencies" id "org.springframework.boot.optional-dependencies"
} }
...@@ -14,8 +13,6 @@ configurations { ...@@ -14,8 +13,6 @@ configurations {
} }
dependencies { dependencies {
api(platform(project(":spring-boot-project:spring-boot-parent")))
compileOnly("org.apache.maven.plugin-tools:maven-plugin-annotations") compileOnly("org.apache.maven.plugin-tools:maven-plugin-annotations")
compileOnly("org.sonatype.plexus:plexus-build-api") compileOnly("org.sonatype.plexus:plexus-build-api")
...@@ -24,7 +21,6 @@ dependencies { ...@@ -24,7 +21,6 @@ dependencies {
implementation("org.apache.maven.shared:maven-common-artifact-filters") implementation("org.apache.maven.shared:maven-common-artifact-filters")
implementation("org.apache.maven:maven-plugin-api") implementation("org.apache.maven:maven-plugin-api")
intTestImplementation(platform(project(":spring-boot-project:spring-boot-parent")))
intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-buildpack-platform")) intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-buildpack-platform"))
intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-loader-tools")) 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(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
...@@ -33,7 +29,6 @@ dependencies { ...@@ -33,7 +29,6 @@ dependencies {
intTestImplementation("org.junit.jupiter:junit-jupiter") intTestImplementation("org.junit.jupiter:junit-jupiter")
intTestImplementation("org.testcontainers:testcontainers") intTestImplementation("org.testcontainers:testcontainers")
optional(platform(project(":spring-boot-project:spring-boot-parent")))
optional("org.apache.maven.plugins:maven-shade-plugin") optional("org.apache.maven.plugins:maven-shade-plugin")
runtimeOnly("org.sonatype.plexus:plexus-build-api") runtimeOnly("org.sonatype.plexus:plexus-build-api")
......
plugins { plugins {
id "java-library" id "java-library"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.internal-dependency-management"
} }
description = "Spring Boot Testing Support" description = "Spring Boot Testing Support"
......
...@@ -4,21 +4,17 @@ plugins { ...@@ -4,21 +4,17 @@ plugins {
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.configuration-properties" id "org.springframework.boot.configuration-properties"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
id "org.springframework.boot.optional-dependencies" id "org.springframework.boot.optional-dependencies"
} }
description = "Spring Boot" description = "Spring Boot"
dependencies { dependencies {
annotationProcessor(platform(project(":spring-boot-project:spring-boot-dependencies")))
annotationProcessor("org.apache.logging.log4j:log4j-core") 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-core")
api("org.springframework:spring-context") api("org.springframework:spring-context")
optional(platform(project(":spring-boot-project:spring-boot-dependencies")))
optional("ch.qos.logback:logback-classic") optional("ch.qos.logback:logback-classic")
optional("com.atomikos:transactions-jdbc") optional("com.atomikos:transactions-jdbc")
optional("com.atomikos:transactions-jms") optional("com.atomikos:transactions-jms")
......
...@@ -6,6 +6,12 @@ plugins { ...@@ -6,6 +6,12 @@ plugins {
description = "Spring Boot Deployment Tests" description = "Spring Boot Deployment Tests"
configurations {
providedRuntime {
extendsFrom dependencyManagement
}
}
dependencies { dependencies {
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) { implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) {
exclude group: "org.hibernate.validator" exclude group: "org.hibernate.validator"
......
...@@ -6,7 +6,9 @@ plugins { ...@@ -6,7 +6,9 @@ plugins {
description = "Spring Boot Ant smoke test" description = "Spring Boot Ant smoke test"
configurations { configurations {
antDependencies antDependencies {
extendsFrom dependencyManagement
}
testRepository testRepository
} }
...@@ -31,7 +33,6 @@ dependencies { ...@@ -31,7 +33,6 @@ dependencies {
testRepository(project(path: ":spring-boot-project:spring-boot-tools:spring-boot-loader", configuration: "mavenRepository")) 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")) testRepository(project(path: ":spring-boot-project:spring-boot-starters:spring-boot-starter", configuration: "mavenRepository"))
testImplementation(platform(project(":spring-boot-project:spring-boot-dependencies")))
testImplementation(project(path: ":spring-boot-project:spring-boot-tools:spring-boot-loader-tools")) testImplementation(project(path: ":spring-boot-project:spring-boot-tools:spring-boot-loader-tools"))
testImplementation("org.assertj:assertj-core") testImplementation("org.assertj:assertj-core")
testImplementation("org.junit.jupiter:junit-jupiter") testImplementation("org.junit.jupiter:junit-jupiter")
......
plugins { plugins {
id "java" id "java"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.internal-dependency-management"
} }
description = "Spring Boot Atmosphere smoke test" description = "Spring Boot Atmosphere smoke test"
......
...@@ -6,7 +6,6 @@ plugins { ...@@ -6,7 +6,6 @@ plugins {
description = "Spring Boot Data R2DBC with Flyway smoke test" description = "Spring Boot Data R2DBC with Flyway smoke test"
dependencies { dependencies {
implementation(platform(project(":spring-boot-project:spring-boot-parent")))
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-r2dbc")) implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-r2dbc"))
runtimeOnly("io.r2dbc:r2dbc-postgresql") runtimeOnly("io.r2dbc:r2dbc-postgresql")
......
...@@ -6,7 +6,6 @@ plugins { ...@@ -6,7 +6,6 @@ plugins {
description = "Spring Boot Data R2DBC with Liquibase smoke test" description = "Spring Boot Data R2DBC with Liquibase smoke test"
dependencies { dependencies {
implementation(platform(project(":spring-boot-project:spring-boot-parent")))
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-r2dbc")) implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-r2dbc"))
runtimeOnly("io.r2dbc:r2dbc-postgresql") runtimeOnly("io.r2dbc:r2dbc-postgresql")
......
...@@ -5,6 +5,12 @@ plugins { ...@@ -5,6 +5,12 @@ plugins {
description = "Spring Boot Jetty JSP smoke test" description = "Spring Boot Jetty JSP smoke test"
configurations {
providedRuntime {
extendsFrom dependencyManagement
}
}
dependencies { dependencies {
compileOnly("jakarta.servlet:jakarta.servlet-api") compileOnly("jakarta.servlet:jakarta.servlet-api")
compileOnly(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jetty")) compileOnly(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jetty"))
...@@ -13,7 +19,6 @@ dependencies { ...@@ -13,7 +19,6 @@ dependencies {
exclude module: "spring-boot-starter-tomcat" exclude module: "spring-boot-starter-tomcat"
} }
providedRuntime(platform(project(":spring-boot-project:spring-boot-dependencies")))
providedRuntime("org.eclipse.jetty:apache-jsp") { providedRuntime("org.eclipse.jetty:apache-jsp") {
exclude group: "javax.annotation", module: "javax.annotation-api" exclude group: "javax.annotation", module: "javax.annotation-api"
} }
......
plugins { plugins {
id "java" id "java"
// id "org.springframework.boot.conventions"
} }
description = "Spring Boot TestNG smoke test" description = "Spring Boot TestNG smoke test"
dependencies { dependencies {
implementation(platform(project(":spring-boot-project:spring-boot-dependencies")))
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter")) implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter"))
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-tomcat")) implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-tomcat"))
implementation("org.springframework:spring-webmvc") implementation("org.springframework:spring-webmvc")
......
...@@ -5,6 +5,12 @@ plugins { ...@@ -5,6 +5,12 @@ plugins {
description = "Spring Boot Tomcat JSP smoke test" description = "Spring Boot Tomcat JSP smoke test"
configurations {
providedRuntime {
extendsFrom dependencyManagement
}
}
dependencies { dependencies {
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
......
...@@ -5,6 +5,12 @@ plugins { ...@@ -5,6 +5,12 @@ plugins {
description = "Spring Boot traditional deployment smoke test" description = "Spring Boot traditional deployment smoke test"
configurations {
providedRuntime {
extendsFrom dependencyManagement
}
}
dependencies { dependencies {
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter")) implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter"))
implementation("org.springframework:spring-webmvc") implementation("org.springframework:spring-webmvc")
......
...@@ -5,12 +5,17 @@ plugins { ...@@ -5,12 +5,17 @@ plugins {
description = "Spring Boot war smoke test" description = "Spring Boot war smoke test"
configurations {
providedCompile {
extendsFrom dependencyManagement
}
}
dependencies { dependencies {
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) { implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) {
exclude module: "spring-boot-starter-tomcat" exclude module: "spring-boot-starter-tomcat"
} }
providedCompile(platform(project(":spring-boot-project:spring-boot-dependencies")))
providedCompile("jakarta.servlet:jakarta.servlet-api") providedCompile("jakarta.servlet:jakarta.servlet-api")
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
......
...@@ -5,6 +5,12 @@ plugins { ...@@ -5,6 +5,12 @@ plugins {
description = "Spring Boot web JSP smoke test" description = "Spring Boot web JSP smoke test"
configurations {
providedRuntime {
extendsFrom dependencyManagement
}
}
dependencies { dependencies {
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
......
...@@ -5,6 +5,12 @@ plugins { ...@@ -5,6 +5,12 @@ plugins {
description = "Spring Boot web static smoke test" description = "Spring Boot web static smoke test"
configurations {
providedRuntime {
extendsFrom dependencyManagement
}
}
dependencies { dependencies {
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment