Create spring-boot-autoconfigure-classic module
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:windows-latest name:Windows]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Has been cancelled Details
Run CodeQL Analysis / run-analysis (push) Has been cancelled Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Has been cancelled Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Has been cancelled Details
Build and Deploy Snapshot / Verify (push) Has been cancelled Details

Issue: 46233
This commit is contained in:
Phillip Webb 2025-06-30 16:48:51 -07:00
parent c005196b23
commit 55d2c14d3a
9 changed files with 400 additions and 0 deletions

View File

@ -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-amqp"
include "spring-boot-project:spring-boot-artemis" include "spring-boot-project:spring-boot-artemis"
include "spring-boot-project:spring-boot-autoconfigure" 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-batch"
include "spring-boot-project:spring-boot-cache" include "spring-boot-project:spring-boot-cache"
include "spring-boot-project:spring-boot-cassandra" include "spring-boot-project:spring-boot-cassandra"

View File

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

View File

@ -1989,6 +1989,7 @@ bom {
"spring-boot-amqp", "spring-boot-amqp",
"spring-boot-artemis", "spring-boot-artemis",
"spring-boot-autoconfigure", "spring-boot-autoconfigure",
"spring-boot-autoconfigure-classic",
"spring-boot-autoconfigure-processor", "spring-boot-autoconfigure-processor",
"spring-boot-batch", "spring-boot-batch",
"spring-boot-buildpack-platform", "spring-boot-buildpack-platform",

View File

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

View File

@ -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);
}
}

View File

@ -0,0 +1,6 @@
test.name=Phil
sample.name=Andy
spring.profiles.validate=false
spring.profiles.active=a+very(silly)!name

View File

@ -0,0 +1 @@
${Ansi.GREEN} :: Sample application build with Spring Boot${spring-boot.formatted-version} ::${Ansi.DEFAULT}

View File

@ -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!");
}
}