From 5db3cacde833e9e2652a61f36570c017aad4a789 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Mon, 30 Jun 2025 16:48:51 -0700 Subject: [PATCH] Create spring-boot-autoconfigure-classic module Closes gh-46233 --- settings.gradle | 1 + .../build.gradle | 287 ++++++++++++++++++ .../spring-boot-dependencies/build.gradle | 1 + .../build.gradle | 28 ++ ...SampleAutoConfigureClassicApplication.java | 35 +++ .../src/main/resources/application.properties | 6 + .../src/main/resources/banner.jpg | Bin 0 -> 63114 bytes .../src/main/resources/banner.txt | 1 + ...eAutoConfigureClassicApplicationTests.java | 41 +++ 9 files changed, 400 insertions(+) create mode 100644 spring-boot-project/spring-boot-autoconfigure-classic/build.gradle create mode 100644 spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/build.gradle create mode 100644 spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/java/smoketest/autoconfigureclassic/SampleAutoConfigureClassicApplication.java create mode 100644 spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/resources/application.properties create mode 100644 spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/resources/banner.jpg create mode 100644 spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/resources/banner.txt create mode 100644 spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/test/java/smoketest/autoconfigureclassic/SampleAutoConfigureClassicApplicationTests.java diff --git a/settings.gradle b/settings.gradle index c0b0f2b017c..2cfefad9012 100644 --- a/settings.gradle +++ b/settings.gradle @@ -64,6 +64,7 @@ include "spring-boot-project:spring-boot-actuator-integration-tests" include "spring-boot-project:spring-boot-amqp" include "spring-boot-project:spring-boot-artemis" include "spring-boot-project:spring-boot-autoconfigure" +include "spring-boot-project:spring-boot-autoconfigure-classic" include "spring-boot-project:spring-boot-batch" include "spring-boot-project:spring-boot-cache" include "spring-boot-project:spring-boot-cassandra" diff --git a/spring-boot-project/spring-boot-autoconfigure-classic/build.gradle b/spring-boot-project/spring-boot-autoconfigure-classic/build.gradle new file mode 100644 index 00000000000..18c9964a94c --- /dev/null +++ b/spring-boot-project/spring-boot-autoconfigure-classic/build.gradle @@ -0,0 +1,287 @@ +/* + * Copyright 2012-present 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. + */ + +plugins { + id "java-library" + id "org.springframework.boot.deployed" +} + +description = "Spring Boot AutoConfigure Classic" + +dependencies { + api(project(":spring-boot-project:spring-boot-autoconfigure")) + api(project(":spring-boot-project:spring-boot-activemq")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-amqp")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-artemis")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-batch")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-cache")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-cassandra")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-cloudfoundry")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-couchbase")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-data-cassandra")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-data-commons")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-data-couchbase")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-data-elasticsearch")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-data-jdbc")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-data-jpa")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-data-ldap")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-data-mongodb")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-data-neo4j")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-data-r2dbc")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-data-redis")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-data-rest")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-elasticsearch")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-flyway")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-freemarker")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-graphql")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-groovy-templates")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-gson")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-h2console")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-hateoas")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-hazelcast")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-health")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-hibernate")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-http-client")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-http-codec")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-http-converter")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-integration")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-jackson")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-jdbc")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-jersey")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-jetty")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-jms")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-jooq")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-jpa")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-jsonb")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-kafka")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-ldap")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-liquibase")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-mail")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-metrics")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-mongodb")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-mustache")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-neo4j")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-netty")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-observation")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-opentelemetry")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-pulsar")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-quartz")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-r2dbc")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-reactor")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-reactor-netty")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-restclient")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-rsocket")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-security")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-security-oauth2-authorization-server")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-security-oauth2-client")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-security-oauth2-resource-server")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-security-saml2")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-sendgrid")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-servlet")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-session")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-session-data-mongodb")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-session-data-redis")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-session-hazelcast")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-session-jdbc")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-sql")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-thymeleaf")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-tomcat")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-tracing")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-tx")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-undertow")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-validation")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-webclient")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-webflux")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-webmvc")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-webservices")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-websocket")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-web-server")) { + transitive = false + } + api(project(":spring-boot-project:spring-boot-zipkin")) { + transitive = false + } +} diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index a06986a1125..9dd3ebe846d 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1989,6 +1989,7 @@ bom { "spring-boot-amqp", "spring-boot-artemis", "spring-boot-autoconfigure", + "spring-boot-autoconfigure-classic", "spring-boot-autoconfigure-processor", "spring-boot-batch", "spring-boot-buildpack-platform", diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/build.gradle b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/build.gradle new file mode 100644 index 00000000000..35b390cecb6 --- /dev/null +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/build.gradle @@ -0,0 +1,28 @@ +/* + * Copyright 2012-present 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. + */ + +plugins { + id "java" +} + +description = "Spring Boot Auto-Configure Classic smoke test" + +dependencies { + implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter")) + implementation(project(":spring-boot-project:spring-boot-autoconfigure-classic")) + + testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) +} diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/java/smoketest/autoconfigureclassic/SampleAutoConfigureClassicApplication.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/java/smoketest/autoconfigureclassic/SampleAutoConfigureClassicApplication.java new file mode 100644 index 00000000000..18d641e1224 --- /dev/null +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/java/smoketest/autoconfigureclassic/SampleAutoConfigureClassicApplication.java @@ -0,0 +1,35 @@ +/* + * Copyright 2012-present 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 smoketest.autoconfigureclassic; + +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class SampleAutoConfigureClassicApplication implements CommandLineRunner { + + @Override + public void run(String... args) throws Exception { + System.out.println("Auto-Configure Classic!"); + } + + public static void main(String[] args) { + SpringApplication.run(SampleAutoConfigureClassicApplication.class, args); + } + +} diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/resources/application.properties b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/resources/application.properties new file mode 100644 index 00000000000..bfd3a3a2ac8 --- /dev/null +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/resources/application.properties @@ -0,0 +1,6 @@ +test.name=Phil +sample.name=Andy + +spring.profiles.validate=false +spring.profiles.active=a+very(silly)!name + diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/resources/banner.jpg b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/resources/banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f196fed2c3f271ba81006d60a8a57976050e85a9 GIT binary patch literal 63114 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 literal 0 HcmV?d00001 diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/resources/banner.txt b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/resources/banner.txt new file mode 100644 index 00000000000..2634c44793a --- /dev/null +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/main/resources/banner.txt @@ -0,0 +1 @@ +${Ansi.GREEN} :: Sample application build with Spring Boot${spring-boot.formatted-version} ::${Ansi.DEFAULT} diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/test/java/smoketest/autoconfigureclassic/SampleAutoConfigureClassicApplicationTests.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/test/java/smoketest/autoconfigureclassic/SampleAutoConfigureClassicApplicationTests.java new file mode 100644 index 00000000000..a514859ec57 --- /dev/null +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-autoconfigure-classic/src/test/java/smoketest/autoconfigureclassic/SampleAutoConfigureClassicApplicationTests.java @@ -0,0 +1,41 @@ +/* + * Copyright 2012-present 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 smoketest.autoconfigureclassic; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import org.springframework.boot.test.system.CapturedOutput; +import org.springframework.boot.test.system.OutputCaptureExtension; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Tests for {@link SampleAutoConfigureClassicApplication}. + * + * @author Phillip Webb + */ +@ExtendWith(OutputCaptureExtension.class) +class SampleAutoConfigureClassicApplicationTests { + + @Test + void testApplicationRuns(CapturedOutput output) { + SampleAutoConfigureClassicApplication.main(new String[0]); + assertThat(output).contains("Auto-Configure Classic!"); + } + +}