Skip to content

Commit 91c516d

Browse files
wilkinsonaphilwebb
authored andcommitted
Enable auto-configuration checks and fix issues
1 parent ace745b commit 91c516d

File tree

9 files changed

+19
-39
lines changed

9 files changed

+19
-39
lines changed

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

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@ dependencies {
2020
api(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
2121
api(project(":spring-boot-project:spring-boot-autoconfigure"))
2222

23-
implementation(project(":spring-boot-project:spring-boot-metrics"))
24-
implementation(project(":spring-boot-project:spring-boot-security")) {
25-
exclude(group: "org.springframework.security")
26-
}
2723
implementation("com.fasterxml.jackson.core:jackson-databind")
2824
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
2925

@@ -41,6 +37,7 @@ dependencies {
4137
optional(project(":spring-boot-project:spring-boot-metrics"))
4238
optional(project(":spring-boot-project:spring-boot-opentelemetry"))
4339
optional(project(":spring-boot-project:spring-boot-restclient"))
40+
optional(project(":spring-boot-project:spring-boot-security"))
4441
optional(project(":spring-boot-project:spring-boot-security-oauth2-client"))
4542
optional(project(":spring-boot-project:spring-boot-security-oauth2-resource-server"))
4643
optional(project(":spring-boot-project:spring-boot-security-saml2"))
@@ -146,11 +143,3 @@ dependencies {
146143
tasks.named("test") {
147144
jvmArgs += "--add-opens=java.base/java.net=ALL-UNNAMED"
148145
}
149-
150-
tasks.getByName("checkAutoConfigurationImports") {
151-
enabled = false
152-
}
153-
154-
tasks.getByName("checkAutoConfigurationClasses") {
155-
enabled = false
156-
}

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
import org.springframework.boot.cloud.CloudPlatform;
5151
import org.springframework.boot.info.GitProperties;
5252
import org.springframework.boot.restclient.RestTemplateBuilder;
53-
import org.springframework.boot.servlet.actuate.autoconfigure.ServletManagementContextAutoConfiguration;
5453
import org.springframework.context.ApplicationContext;
5554
import org.springframework.context.annotation.Bean;
5655
import org.springframework.context.annotation.Configuration;
@@ -76,8 +75,8 @@
7675
* @author Madhura Bhave
7776
* @since 2.0.0
7877
*/
79-
@AutoConfiguration(after = { ServletManagementContextAutoConfiguration.class, HealthEndpointAutoConfiguration.class,
80-
InfoEndpointAutoConfiguration.class })
78+
@AutoConfiguration(after = { HealthEndpointAutoConfiguration.class, InfoEndpointAutoConfiguration.class },
79+
afterName = "org.springframework.boot.servlet.actuate.autoconfigure.ServletManagementContextAutoConfiguration")
8180
@ConditionalOnBooleanProperty(name = "management.cloudfoundry.enabled", matchIfMissing = true)
8281
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
8382
@ConditionalOnClass(DispatcherServlet.class)

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/observability/ObservabilityAutoConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
@AutoConfiguration(beforeName = "org.springframework.boot.observation.autoconfigure.ObservationAutoConfiguration",
5454
afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration",
5555
after = MicrometerTracingAutoConfiguration.class)
56-
@ConditionalOnClass(ObservationRegistry.class)
56+
@ConditionalOnClass({ ObservationRegistry.class, ObservationHandlerGrouping.class })
5757
public class ObservabilityAutoConfiguration {
5858

5959
@Configuration(proxyBeanMethods = false)

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/security/reactive/ReactiveManagementWebSecurityAutoConfiguration.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@
2828
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2929
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
3030
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
31-
import org.springframework.boot.security.autoconfigure.reactive.ReactiveSecurityAutoConfiguration;
32-
import org.springframework.boot.security.autoconfigure.reactive.ReactiveUserDetailsServiceAutoConfiguration;
3331
import org.springframework.context.annotation.Bean;
3432
import org.springframework.security.authentication.ReactiveAuthenticationManager;
3533
import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
@@ -53,12 +51,14 @@
5351
* @author Madhura Bhave
5452
* @since 2.1.0
5553
*/
56-
@AutoConfiguration(before = ReactiveSecurityAutoConfiguration.class,
54+
@AutoConfiguration(
55+
beforeName = "org.springframework.boot.security.autoconfigure.reactive.ReactiveSecurityAutoConfiguration",
5756
after = { HealthEndpointAutoConfiguration.class, InfoEndpointAutoConfiguration.class,
58-
WebEndpointAutoConfiguration.class, ReactiveUserDetailsServiceAutoConfiguration.class },
57+
WebEndpointAutoConfiguration.class },
5958
afterName = {
6059
"org.springframework.boot.security.oauth2.client.autoconfigure.reactive.ReactiveOAuth2ClientWebSecurityAutoConfiguration",
61-
"org.springframework.boot.security.oauth2.server.resource.autoconfigure.reactive.ReactiveOAuth2ResourceServerAutoConfiguration" })
60+
"org.springframework.boot.security.oauth2.server.resource.autoconfigure.reactive.ReactiveOAuth2ResourceServerAutoConfiguration",
61+
"org.springframework.boot.security.autoconfigure.reactive.ReactiveUserDetailsServiceAutoConfiguration" })
6262
@ConditionalOnClass({ EnableWebFluxSecurity.class, WebFilterChainProxy.class })
6363
@ConditionalOnMissingBean({ SecurityWebFilterChain.class, WebFilterChainProxy.class })
6464
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE)

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/ManagementWebSecurityAutoConfiguration.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
import org.springframework.boot.actuate.health.HealthEndpoint;
2323
import org.springframework.boot.autoconfigure.AutoConfiguration;
2424
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
25+
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2526
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
2627
import org.springframework.boot.security.autoconfigure.ConditionalOnDefaultWebSecurity;
2728
import org.springframework.boot.security.autoconfigure.SecurityProperties;
28-
import org.springframework.boot.security.autoconfigure.servlet.SecurityAutoConfiguration;
2929
import org.springframework.context.annotation.Bean;
3030
import org.springframework.core.annotation.Order;
3131
import org.springframework.core.env.Environment;
@@ -47,13 +47,14 @@
4747
* @author Hatef Palizgar
4848
* @since 2.1.0
4949
*/
50-
@AutoConfiguration(before = SecurityAutoConfiguration.class,
50+
@AutoConfiguration(beforeName = "org.springframework.boot.security.autoconfigure.servlet.SecurityAutoConfiguration",
5151
after = { HealthEndpointAutoConfiguration.class, InfoEndpointAutoConfiguration.class },
5252
afterName = {
5353
"org.springframework.boot.security.oauth2.client.autoconfigure.servlet.OAuth2ClientWebSecurityAutoConfiguration",
5454
"org.springframework.boot.security.oauth2.server.resource.autoconfigure.servlet.OAuth2ResourceServerAutoConfiguration",
5555
"org.springframework.boot.security.saml2.autoconfigure.Saml2RelyingPartyAutoConfiguration" })
5656
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
57+
@ConditionalOnClass(RequestMatcher.class)
5758
@ConditionalOnDefaultWebSecurity
5859
public class ManagementWebSecurityAutoConfiguration {
5960

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/ssl/SslObservabilityAutoConfiguration.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@
2626
import org.springframework.boot.autoconfigure.ssl.SslAutoConfiguration;
2727
import org.springframework.boot.context.properties.EnableConfigurationProperties;
2828
import org.springframework.boot.info.SslInfo;
29-
import org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration;
30-
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
3129
import org.springframework.boot.ssl.SslBundles;
3230
import org.springframework.context.annotation.Bean;
3331

@@ -37,8 +35,9 @@
3735
* @author Moritz Halbritter
3836
* @since 3.5.0
3937
*/
40-
@AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class,
41-
SslAutoConfiguration.class })
38+
@AutoConfiguration(after = SslAutoConfiguration.class,
39+
afterName = { "org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration",
40+
"org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration" })
4241
@ConditionalOnClass(MeterRegistry.class)
4342
@ConditionalOnBean({ MeterRegistry.class, SslBundles.class })
4443
@EnableConfigurationProperties(SslHealthIndicatorProperties.class)

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/prometheus/PrometheusExemplarsAutoConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
2828
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2929
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
30-
import org.springframework.boot.metrics.autoconfigure.export.prometheus.PrometheusMetricsExportAutoConfiguration;
3130
import org.springframework.context.annotation.Bean;
3231
import org.springframework.util.function.SingletonSupplier;
3332

@@ -38,7 +37,8 @@
3837
* @author Jonatan Ivanov
3938
* @since 3.0.0
4039
*/
41-
@AutoConfiguration(before = PrometheusMetricsExportAutoConfiguration.class,
40+
@AutoConfiguration(
41+
beforeName = "org.springframework.boot.metrics.autoconfigure.export.prometheus.PrometheusMetricsExportAutoConfiguration",
4242
after = MicrometerTracingAutoConfiguration.class)
4343
@ConditionalOnBean(Tracer.class)
4444
@ConditionalOnClass({ Tracer.class, SpanContext.class })

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ org.springframework.boot.actuate.autoconfigure.beans.BeansEndpointAutoConfigurat
66
org.springframework.boot.actuate.autoconfigure.cloudfoundry.reactive.ReactiveCloudFoundryActuatorAutoConfiguration
77
org.springframework.boot.actuate.autoconfigure.cloudfoundry.servlet.CloudFoundryActuatorAutoConfiguration
88
org.springframework.boot.actuate.autoconfigure.condition.ConditionsReportEndpointAutoConfiguration
9-
org.springframework.boot.actuate.autoconfigure.context.properties.ConfigurationPropertiesReportEndpointAutoConfiguration
109
org.springframework.boot.actuate.autoconfigure.context.ShutdownEndpointAutoConfiguration
10+
org.springframework.boot.actuate.autoconfigure.context.properties.ConfigurationPropertiesReportEndpointAutoConfiguration
1111
org.springframework.boot.actuate.autoconfigure.endpoint.jackson.JacksonEndpointAutoConfiguration
1212
org.springframework.boot.actuate.autoconfigure.endpoint.jmx.JmxEndpointAutoConfiguration
1313
org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration

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

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ description = "Spring Boot AutoConfigure All"
1111
dependencies {
1212
api(project(":spring-boot-project:spring-boot"))
1313
api(project(":spring-boot-project:spring-boot-autoconfigure"))
14-
14+
1515
optional(project(":spring-boot-project:spring-boot-web-server"))
1616
optional("jakarta.servlet:jakarta.servlet-api")
1717
optional("org.springframework:spring-webmvc")
@@ -27,11 +27,3 @@ dependencies {
2727
testImplementation(project(":spring-boot-project:spring-boot-webmvc"))
2828
testImplementation(testFixtures(project(":spring-boot-project:spring-boot-web-server")))
2929
}
30-
31-
tasks.getByName("checkAutoConfigurationImports") {
32-
enabled = false
33-
}
34-
35-
tasks.getByName("checkAutoConfigurationClasses") {
36-
enabled = false
37-
}

0 commit comments

Comments
 (0)