Merge branch '2.3.x'

Closes gh-21940
pull/21985/head
Andy Wilkinson 4 years ago
commit 07fb4b065d

@ -54,10 +54,6 @@ 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"

@ -1,60 +0,0 @@
/*
* 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;
import java.io.File;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
@ -25,8 +26,12 @@ import java.util.function.Consumer;
import io.spring.javaformat.gradle.FormatTask;
import io.spring.javaformat.gradle.SpringJavaFormatPlugin;
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.plugins.JavaBasePlugin;
import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.plugins.quality.CheckstyleExtension;
import org.gradle.api.plugins.quality.CheckstylePlugin;
import org.gradle.api.tasks.bundling.Jar;
@ -36,6 +41,7 @@ import org.gradle.api.tasks.testing.Test;
import org.gradle.testretry.TestRetryPlugin;
import org.gradle.testretry.TestRetryTaskExtension;
import org.springframework.boot.build.optional.OptionalDependenciesPlugin;
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-Version}
* </ul>
* <li>{@code spring-boot-parent} is used for dependency management</li>
* </ul>
*
* <p/>
@ -80,6 +87,7 @@ class JavaConventions {
configureJavadocConventions(project);
configureTestConventions(project);
configureJarManifestConventions(project);
configureDependencyManagement(project);
});
}
@ -164,4 +172,22 @@ class JavaConventions {
.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;
import org.apache.maven.artifact.repository.MavenArtifactRepository;
import org.gradle.api.Project;
import org.gradle.api.attributes.Usage;
import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.plugins.JavaPluginExtension;
import org.gradle.api.publish.PublishingExtension;
@ -40,8 +41,12 @@ import org.gradle.api.publish.maven.plugins.MavenPublishPlugin;
* it.
* <li>The poms of all {@link MavenPublication Maven publications} are customized to meet
* Maven Central's requirements.
* <li>If the {@link JavaPlugin Java plugin} has also been applied, creation of Javadoc
* and source jars is enabled.
* <li>If the {@link JavaPlugin Java plugin} has also been applied:
* <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>
*
* <p/>
@ -62,7 +67,7 @@ class MavenPublishingConventions {
});
}
publishing.getPublications().withType(MavenPublication.class)
.all((mavenPublication) -> customizePom(mavenPublication.getPom(), project));
.all((mavenPublication) -> customizeMavenPublication(mavenPublication, project));
project.getPlugins().withType(JavaPlugin.class).all((javaPlugin) -> {
JavaPluginExtension extension = project.getExtensions().getByType(JavaPluginExtension.class);
extension.withJavadocJar();
@ -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) {
pom.getUrl().set("https://spring.io/projects/spring-boot");
pom.getName().set(project.provider(project::getName));
@ -82,6 +93,13 @@ class MavenPublishingConventions {
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) {
organization.getName().set("Pivotal Software, Inc.");
organization.getUrl().set("https://spring.io");

@ -29,7 +29,6 @@ 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;
@ -47,7 +46,6 @@ 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);

@ -51,6 +51,17 @@ class ConventionsPluginTests {
void setup(@TempDir File projectDir) throws IOException {
this.projectDir = projectDir;
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

@ -5,22 +5,21 @@ 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"
}
description = "Spring Boot Actuator AutoConfigure"
configurations {
asciidoctorExtensions
asciidoctorExtensions {
extendsFrom dependencyManagement
}
documentation
}
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"))
api(project(":spring-boot-project:spring-boot"))
@ -29,7 +28,6 @@ dependencies {
implementation("com.fasterxml.jackson.core:jackson-databind")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
optional(platform(project(":spring-boot-project:spring-boot-dependencies")))
optional("ch.qos.logback:logback-classic")
optional("com.datastax.oss:java-driver-core")
optional("com.fasterxml.jackson.dataformat:jackson-dataformat-xml")

@ -9,10 +9,8 @@ plugins {
description = "Spring Boot Actuator"
dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot"))
optional(platform(project(":spring-boot-project:spring-boot-dependencies")))
optional("com.datastax.oss:java-driver-core")
optional("com.fasterxml.jackson.core:jackson-databind")
optional("com.github.ben-manes.caffeine:caffeine")

@ -4,7 +4,6 @@ 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"
}
@ -12,9 +11,7 @@ description = "Spring Boot AutoConfigure"
dependencies {
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-jta")
optional("com.fasterxml.jackson.core:jackson-databind")
@ -151,7 +148,6 @@ dependencies {
optional("org.thymeleaf.extras:thymeleaf-extras-springsecurity5")
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-test"))
testImplementation("ch.qos.logback:logback-classic")

@ -3,7 +3,6 @@ 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"
@ -22,7 +21,6 @@ dependencies {
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("com.vaadin.external.google:android-json")
implementation("jline:jline")
@ -50,7 +48,6 @@ dependencies {
implementation("org.springframework:spring-core")
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-test-support"))
intTestImplementation("org.assertj:assertj-core")

@ -4,18 +4,18 @@ 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"
}
description = "Spring Boot Developer Tools"
configurations {
intTestDependencies
intTestDependencies {
extendsFrom dependencyManagement
}
}
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"))
@ -32,7 +32,6 @@ dependencies {
intTestRuntimeOnly("org.springframework:spring-web")
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")

@ -10,7 +10,9 @@ description = "Spring Boot Docs"
configurations {
actuatorApiDocumentation
asciidoctorExtensions
asciidoctorExtensions {
extendsFrom dependencyManagement
}
autoConfiguration
configurationProperties
gradlePluginDocumentation
@ -40,7 +42,6 @@ plugins.withType(EclipsePlugin) {
dependencies {
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(project(path: ":spring-boot-project:spring-boot-actuator-autoconfigure"))
asciidoctorExtensions(project(path: ":spring-boot-project:spring-boot-autoconfigure"))

@ -2,7 +2,6 @@ plugins {
id "java-platform"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
}
description = "Spring Boot Parent"

@ -2,13 +2,11 @@ plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
}
description = "Spring Boot Properties Migrator"
dependencies {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot"))
api(project(":spring-boot-project:spring-boot-tools:spring-boot-configuration-metadata"))

@ -5,7 +5,6 @@ plugins {
description = "Starter for JMS messaging using Apache ActiveMQ"
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") {

@ -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"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring AMQP and Rabbit MQ"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for aspect-oriented programming with Spring AOP and AspectJ"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for JMS messaging using Apache Artemis"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Batch"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Framework's caching support"
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")
}

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Cassandra distributed database and Spring Data Cassandra Reactive"
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") {

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Cassandra distributed database and Spring Data Cassandra"
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") {

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Couchbase document-oriented database and Spring Data Couchbase Reactive"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Couchbase document-oriented database and Spring Data Couchbase"
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"

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Elasticsearch search and analytics engine and Spring Data Elasticsearch"
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"

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Data JDBC"
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")
}

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Data JPA with Hibernate"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Data LDAP"
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")
}

@ -5,7 +5,6 @@ plugins {
description = "Starter for using MongoDB document-oriented database and Spring Data MongoDB Reactive"
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-reactivestreams")

@ -5,7 +5,6 @@ plugins {
description = "Starter for using MongoDB document-oriented database and Spring Data MongoDB"
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-sync")
api("org.springframework.data:spring-data-mongodb")

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Neo4j graph database and Spring Data Neo4j"
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")
}

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Data R2DBC"
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-r2dbc")
api("io.r2dbc:r2dbc-spi")

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

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Redis key-value data store with Spring Data Redis and the Lettuce client"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for exposing Spring Data repositories over REST using Spring Data REST"
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")
}

@ -5,7 +5,6 @@ plugins {
description = "Starter for using the Apache Solr search platform with Spring Data Solr"
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"

@ -5,7 +5,6 @@ plugins {
description = "Starter for building MVC web applications using FreeMarker views"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for building MVC web applications using Groovy Templates views"
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")
}

@ -5,7 +5,6 @@ plugins {
description = "Starter for building hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS"
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")
}

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Integration"
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")
}

@ -5,7 +5,6 @@ plugins {
description = "Starter for using JDBC with the HikariCP connection pool"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for building RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-web"
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"))

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Jetty as the embedded servlet container. An alternative to spring-boot-starter-tomcat"
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")

@ -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"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for reading and writing json"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for JTA transactions using Atomikos"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for JTA transactions using Bitronix. Deprecated since 2.3.0"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Log4j2 for logging. An alternative to spring-boot-starter-logging"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for logging using Logback. Default logging starter"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Java Mail and Spring Framework's email sending support"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for building web applications using Mustache views"
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")
}

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Security's OAuth2/OpenID Connect client features"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Security's OAuth2 resource server features"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for using the Quartz scheduler"
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")

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

@ -5,7 +5,6 @@ plugins {
description = "Starter for building RSocket clients and servers"
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"))

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Security"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for testing Spring Boot applications with libraries including JUnit Jupiter, Hamcrest and Mockito"
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"))
api(project(":spring-boot-project:spring-boot-test-autoconfigure"))

@ -5,7 +5,6 @@ plugins {
description = "Starter for building MVC web applications using Thymeleaf views"
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")

@ -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"
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"

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Undertow as the embedded servlet container. An alternative to spring-boot-starter-tomcat"
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"

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Java Bean Validation with Hibernate Validator"
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")

@ -5,7 +5,6 @@ plugins {
description = "Starter for using Spring Web Services"
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") {

@ -5,7 +5,6 @@ plugins {
description = "Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container"
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"))

@ -5,7 +5,6 @@ plugins {
description = "Starter for building WebFlux applications using Spring Framework's Reactive Web support"
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"))

@ -5,7 +5,6 @@ plugins {
description = "Starter for building WebSocket applications using Spring Framework's WebSocket support"
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")

@ -5,7 +5,6 @@ plugins {
description = "Core starter, including auto-configuration support, logging and YAML"
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"))
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-logging"))

@ -2,19 +2,16 @@ 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 {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
api(project(":spring-boot-project:spring-boot"))
api(project(":spring-boot-project:spring-boot-test"))
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.servlet:javax.servlet-api")
optional("javax.transaction:javax.transaction-api")

@ -3,17 +3,14 @@ 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 {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
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.google.code.gson:gson")
optional("com.jayway.jsonpath:json-path")

@ -2,7 +2,6 @@ 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"
@ -20,8 +19,6 @@ dependencies {
antUnit "org.apache.ant:ant-antunit:1.3"
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("org.apache.ant:ant:${antVersion}")

@ -2,13 +2,11 @@ plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
}
description = "Spring Boot Buildpack Platform"
dependencies {
api(platform(project(":spring-boot-project:spring-boot-parent")))
api("com.fasterxml.jackson.core:jackson-databind")
api("com.fasterxml.jackson.module:jackson-module-parameter-names")
api("net.java.dev.jna:jna-platform")

@ -2,7 +2,6 @@ plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
}
description = "Spring Boot Configuration Metadata"

@ -4,7 +4,6 @@ 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"
}
@ -12,7 +11,9 @@ plugins {
description = "Spring Boot Gradle Plugin"
configurations {
asciidoctorExtensions
asciidoctorExtensions {
extendsFrom dependencyManagement
}
documentation
}
@ -26,19 +27,14 @@ repositories {
}
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")
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-loader-tools"))
implementation("io.spring.gradle:dependency-management-plugin")
implementation("org.apache.commons:commons-compress")
implementation("org.springframework:spring-core")
optional(platform(project(":spring-boot-project:spring-boot-dependencies")))
optional("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50")
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))

@ -2,14 +2,11 @@ plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.internal-dependency-management"
}
description = "Spring Boot Layers Tools"
dependencies {
api(platform(project(":spring-boot-project:spring-boot-parent")))
implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-loader"))
implementation("org.springframework:spring-core")
@ -17,4 +14,3 @@ dependencies {
testImplementation("org.junit.jupiter:junit-jupiter")
testImplementation("org.mockito:mockito-core")
}

@ -2,7 +2,6 @@ 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"
@ -10,12 +9,15 @@ description = "Spring Boot Loader Tools"
def generatedResources = "${buildDir}/generated-resources/main"
configurations {
loader
jarmode
loader {
extendsFrom dependencyManagement
}
jarmode {
extendsFrom dependencyManagement
}
}
dependencies {
api(platform(project(":spring-boot-project:spring-boot-parent")))
api("org.apache.commons:commons-compress")
api("org.springframework:spring-core")

@ -2,14 +2,11 @@ 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 {
api(platform(project(":spring-boot-project:spring-boot-dependencies")))
compileOnly("org.springframework:spring-core")
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))

@ -2,7 +2,6 @@ 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"
}
@ -14,8 +13,6 @@ 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")
@ -24,7 +21,6 @@ dependencies {
implementation("org.apache.maven.shared:maven-common-artifact-filters")
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-loader-tools"))
intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
@ -33,7 +29,6 @@ dependencies {
intTestImplementation("org.junit.jupiter:junit-jupiter")
intTestImplementation("org.testcontainers:testcontainers")
optional(platform(project(":spring-boot-project:spring-boot-parent")))
optional("org.apache.maven.plugins:maven-shade-plugin")
runtimeOnly("org.sonatype.plexus:plexus-build-api")

@ -1,7 +1,6 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.internal-dependency-management"
}
description = "Spring Boot Testing Support"

@ -4,21 +4,17 @@ 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(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")
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")

@ -6,6 +6,12 @@ plugins {
description = "Spring Boot Deployment Tests"
configurations {
providedRuntime {
extendsFrom dependencyManagement
}
}
dependencies {
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) {
exclude group: "org.hibernate.validator"

@ -6,7 +6,9 @@ plugins {
description = "Spring Boot Ant smoke test"
configurations {
antDependencies
antDependencies {
extendsFrom dependencyManagement
}
testRepository
}
@ -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-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("org.assertj:assertj-core")
testImplementation("org.junit.jupiter:junit-jupiter")

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

@ -6,7 +6,6 @@ plugins {
description = "Spring Boot Data R2DBC with Flyway smoke test"
dependencies {
implementation(platform(project(":spring-boot-project:spring-boot-parent")))
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-r2dbc"))
runtimeOnly("io.r2dbc:r2dbc-postgresql")

@ -6,7 +6,6 @@ plugins {
description = "Spring Boot Data R2DBC with Liquibase smoke test"
dependencies {
implementation(platform(project(":spring-boot-project:spring-boot-parent")))
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-r2dbc"))
runtimeOnly("io.r2dbc:r2dbc-postgresql")

@ -5,6 +5,12 @@ plugins {
description = "Spring Boot Jetty JSP smoke test"
configurations {
providedRuntime {
extendsFrom dependencyManagement
}
}
dependencies {
compileOnly("jakarta.servlet:jakarta.servlet-api")
compileOnly(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jetty"))
@ -13,7 +19,6 @@ dependencies {
exclude module: "spring-boot-starter-tomcat"
}
providedRuntime(platform(project(":spring-boot-project:spring-boot-dependencies")))
providedRuntime("org.eclipse.jetty:apache-jsp") {
exclude group: "javax.annotation", module: "javax.annotation-api"
}

@ -1,11 +1,11 @@
plugins {
id "java"
// id "org.springframework.boot.conventions"
}
description = "Spring Boot TestNG smoke test"
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-tomcat"))
implementation("org.springframework:spring-webmvc")

@ -5,6 +5,12 @@ plugins {
description = "Spring Boot Tomcat JSP smoke test"
configurations {
providedRuntime {
extendsFrom dependencyManagement
}
}
dependencies {
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))

@ -5,6 +5,12 @@ plugins {
description = "Spring Boot traditional deployment smoke test"
configurations {
providedRuntime {
extendsFrom dependencyManagement
}
}
dependencies {
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter"))
implementation("org.springframework:spring-webmvc")

@ -5,12 +5,17 @@ plugins {
description = "Spring Boot war smoke test"
configurations {
providedCompile {
extendsFrom dependencyManagement
}
}
dependencies {
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) {
exclude module: "spring-boot-starter-tomcat"
}
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"))

@ -5,6 +5,12 @@ plugins {
description = "Spring Boot web JSP smoke test"
configurations {
providedRuntime {
extendsFrom dependencyManagement
}
}
dependencies {
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))

@ -5,6 +5,12 @@ plugins {
description = "Spring Boot web static smoke test"
configurations {
providedRuntime {
extendsFrom dependencyManagement
}
}
dependencies {
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))

Loading…
Cancel
Save