Browse Source

Enable auto-configuration checks and fix issues

See gh-46071
pull/46230/head
Andy Wilkinson 8 months ago
parent
commit
368bf25451
  1. 13
      spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle
  2. 5
      spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java
  3. 2
      spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/observability/ObservabilityAutoConfiguration.java
  4. 10
      spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/security/reactive/ReactiveManagementWebSecurityAutoConfiguration.java
  5. 5
      spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/ManagementWebSecurityAutoConfiguration.java
  6. 7
      spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/ssl/SslObservabilityAutoConfiguration.java
  7. 4
      spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/prometheus/PrometheusExemplarsAutoConfiguration.java
  8. 2
      spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  9. 8
      spring-boot-project/spring-boot-autoconfigure-all/build.gradle

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

@ -37,10 +37,6 @@ dependencies { @@ -37,10 +37,6 @@ dependencies {
api(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
api(project(":spring-boot-project:spring-boot-autoconfigure"))
implementation(project(":spring-boot-project:spring-boot-metrics"))
implementation(project(":spring-boot-project:spring-boot-security")) {
exclude(group: "org.springframework.security")
}
implementation("com.fasterxml.jackson.core:jackson-databind")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
@ -58,6 +54,7 @@ dependencies { @@ -58,6 +54,7 @@ dependencies {
optional(project(":spring-boot-project:spring-boot-metrics"))
optional(project(":spring-boot-project:spring-boot-opentelemetry"))
optional(project(":spring-boot-project:spring-boot-restclient"))
optional(project(":spring-boot-project:spring-boot-security"))
optional(project(":spring-boot-project:spring-boot-security-oauth2-client"))
optional(project(":spring-boot-project:spring-boot-security-oauth2-resource-server"))
optional(project(":spring-boot-project:spring-boot-security-saml2"))
@ -163,11 +160,3 @@ dependencies { @@ -163,11 +160,3 @@ dependencies {
tasks.named("test") {
jvmArgs += "--add-opens=java.base/java.net=ALL-UNNAMED"
}
tasks.getByName("checkAutoConfigurationImports") {
enabled = false
}
tasks.getByName("checkAutoConfigurationClasses") {
enabled = false
}

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

@ -50,7 +50,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplicat @@ -50,7 +50,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplicat
import org.springframework.boot.cloud.CloudPlatform;
import org.springframework.boot.info.GitProperties;
import org.springframework.boot.restclient.RestTemplateBuilder;
import org.springframework.boot.servlet.actuate.autoconfigure.ServletManagementContextAutoConfiguration;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@ -76,8 +75,8 @@ import org.springframework.web.servlet.DispatcherServlet; @@ -76,8 +75,8 @@ import org.springframework.web.servlet.DispatcherServlet;
* @author Madhura Bhave
* @since 2.0.0
*/
@AutoConfiguration(after = { ServletManagementContextAutoConfiguration.class, HealthEndpointAutoConfiguration.class,
InfoEndpointAutoConfiguration.class })
@AutoConfiguration(after = { HealthEndpointAutoConfiguration.class, InfoEndpointAutoConfiguration.class },
afterName = "org.springframework.boot.servlet.actuate.autoconfigure.ServletManagementContextAutoConfiguration")
@ConditionalOnBooleanProperty(name = "management.cloudfoundry.enabled", matchIfMissing = true)
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
@ConditionalOnClass(DispatcherServlet.class)

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

@ -53,7 +53,7 @@ import org.springframework.context.annotation.Configuration; @@ -53,7 +53,7 @@ import org.springframework.context.annotation.Configuration;
@AutoConfiguration(beforeName = "org.springframework.boot.observation.autoconfigure.ObservationAutoConfiguration",
afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration",
after = MicrometerTracingAutoConfiguration.class)
@ConditionalOnClass(ObservationRegistry.class)
@ConditionalOnClass({ ObservationRegistry.class, ObservationHandlerGrouping.class })
public class ObservabilityAutoConfiguration {
@Configuration(proxyBeanMethods = false)

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

@ -28,8 +28,6 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -28,8 +28,6 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.security.autoconfigure.reactive.ReactiveSecurityAutoConfiguration;
import org.springframework.boot.security.autoconfigure.reactive.ReactiveUserDetailsServiceAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.security.authentication.ReactiveAuthenticationManager;
import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
@ -53,12 +51,14 @@ import static org.springframework.security.config.Customizer.withDefaults; @@ -53,12 +51,14 @@ import static org.springframework.security.config.Customizer.withDefaults;
* @author Madhura Bhave
* @since 2.1.0
*/
@AutoConfiguration(before = ReactiveSecurityAutoConfiguration.class,
@AutoConfiguration(
beforeName = "org.springframework.boot.security.autoconfigure.reactive.ReactiveSecurityAutoConfiguration",
after = { HealthEndpointAutoConfiguration.class, InfoEndpointAutoConfiguration.class,
WebEndpointAutoConfiguration.class, ReactiveUserDetailsServiceAutoConfiguration.class },
WebEndpointAutoConfiguration.class },
afterName = {
"org.springframework.boot.security.oauth2.client.autoconfigure.reactive.ReactiveOAuth2ClientWebSecurityAutoConfiguration",
"org.springframework.boot.security.oauth2.server.resource.autoconfigure.reactive.ReactiveOAuth2ResourceServerAutoConfiguration" })
"org.springframework.boot.security.oauth2.server.resource.autoconfigure.reactive.ReactiveOAuth2ResourceServerAutoConfiguration",
"org.springframework.boot.security.autoconfigure.reactive.ReactiveUserDetailsServiceAutoConfiguration" })
@ConditionalOnClass({ EnableWebFluxSecurity.class, WebFilterChainProxy.class })
@ConditionalOnMissingBean({ SecurityWebFilterChain.class, WebFilterChainProxy.class })
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE)

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

@ -22,10 +22,10 @@ import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; @@ -22,10 +22,10 @@ import org.springframework.boot.actuate.endpoint.web.WebServerNamespace;
import org.springframework.boot.actuate.health.HealthEndpoint;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.security.autoconfigure.ConditionalOnDefaultWebSecurity;
import org.springframework.boot.security.autoconfigure.SecurityProperties;
import org.springframework.boot.security.autoconfigure.servlet.SecurityAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.core.annotation.Order;
import org.springframework.core.env.Environment;
@ -47,13 +47,14 @@ import static org.springframework.security.config.Customizer.withDefaults; @@ -47,13 +47,14 @@ import static org.springframework.security.config.Customizer.withDefaults;
* @author Hatef Palizgar
* @since 2.1.0
*/
@AutoConfiguration(before = SecurityAutoConfiguration.class,
@AutoConfiguration(beforeName = "org.springframework.boot.security.autoconfigure.servlet.SecurityAutoConfiguration",
after = { HealthEndpointAutoConfiguration.class, InfoEndpointAutoConfiguration.class },
afterName = {
"org.springframework.boot.security.oauth2.client.autoconfigure.servlet.OAuth2ClientWebSecurityAutoConfiguration",
"org.springframework.boot.security.oauth2.server.resource.autoconfigure.servlet.OAuth2ResourceServerAutoConfiguration",
"org.springframework.boot.security.saml2.autoconfigure.Saml2RelyingPartyAutoConfiguration" })
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
@ConditionalOnClass(RequestMatcher.class)
@ConditionalOnDefaultWebSecurity
public class ManagementWebSecurityAutoConfiguration {

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

@ -26,8 +26,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean @@ -26,8 +26,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
import org.springframework.boot.autoconfigure.ssl.SslAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.info.SslInfo;
import org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration;
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
import org.springframework.boot.ssl.SslBundles;
import org.springframework.context.annotation.Bean;
@ -37,8 +35,9 @@ import org.springframework.context.annotation.Bean; @@ -37,8 +35,9 @@ import org.springframework.context.annotation.Bean;
* @author Moritz Halbritter
* @since 3.5.0
*/
@AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class,
SslAutoConfiguration.class })
@AutoConfiguration(after = SslAutoConfiguration.class,
afterName = { "org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration",
"org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration" })
@ConditionalOnClass(MeterRegistry.class)
@ConditionalOnBean({ MeterRegistry.class, SslBundles.class })
@EnableConfigurationProperties(SslHealthIndicatorProperties.class)

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

@ -27,7 +27,6 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -27,7 +27,6 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.metrics.autoconfigure.export.prometheus.PrometheusMetricsExportAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.util.function.SingletonSupplier;
@ -38,7 +37,8 @@ import org.springframework.util.function.SingletonSupplier; @@ -38,7 +37,8 @@ import org.springframework.util.function.SingletonSupplier;
* @author Jonatan Ivanov
* @since 3.0.0
*/
@AutoConfiguration(before = PrometheusMetricsExportAutoConfiguration.class,
@AutoConfiguration(
beforeName = "org.springframework.boot.metrics.autoconfigure.export.prometheus.PrometheusMetricsExportAutoConfiguration",
after = MicrometerTracingAutoConfiguration.class)
@ConditionalOnBean(Tracer.class)
@ConditionalOnClass({ Tracer.class, SpanContext.class })

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

@ -6,8 +6,8 @@ org.springframework.boot.actuate.autoconfigure.beans.BeansEndpointAutoConfigurat @@ -6,8 +6,8 @@ org.springframework.boot.actuate.autoconfigure.beans.BeansEndpointAutoConfigurat
org.springframework.boot.actuate.autoconfigure.cloudfoundry.reactive.ReactiveCloudFoundryActuatorAutoConfiguration
org.springframework.boot.actuate.autoconfigure.cloudfoundry.servlet.CloudFoundryActuatorAutoConfiguration
org.springframework.boot.actuate.autoconfigure.condition.ConditionsReportEndpointAutoConfiguration
org.springframework.boot.actuate.autoconfigure.context.properties.ConfigurationPropertiesReportEndpointAutoConfiguration
org.springframework.boot.actuate.autoconfigure.context.ShutdownEndpointAutoConfiguration
org.springframework.boot.actuate.autoconfigure.context.properties.ConfigurationPropertiesReportEndpointAutoConfiguration
org.springframework.boot.actuate.autoconfigure.endpoint.jackson.JacksonEndpointAutoConfiguration
org.springframework.boot.actuate.autoconfigure.endpoint.jmx.JmxEndpointAutoConfiguration
org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration

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

@ -49,14 +49,6 @@ dependencies { @@ -49,14 +49,6 @@ dependencies {
testRuntimeOnly("org.apache.httpcomponents.client5:httpclient5")
}
tasks.getByName("checkAutoConfigurationImports") {
enabled = false
}
tasks.getByName("checkAutoConfigurationClasses") {
enabled = false
}
test {
jvmArgs += "--add-opens=java.base/java.net=ALL-UNNAMED"
}

Loading…
Cancel
Save