Use ClassLoader with ArchitectureCheck

Prior to this commit, certain rules, like BeanPostProcessor,
did not work with external classes. This commit ensures that
ArchRules are executed within a context ClassLoader that includes
all classes from the compile classpath.

See gh-45202

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
This commit is contained in:
Dmytro Nosan
2025-04-15 02:09:35 +03:00
committed by Andy Wilkinson
parent 482f56ddbb
commit bb3cf6c088
7 changed files with 192 additions and 144 deletions

View File

@@ -103,7 +103,7 @@ class FilterOrderingIntegrationTests {
}
@Bean
WebServerFactoryCustomizerBeanPostProcessor ServletWebServerCustomizerBeanPostProcessor() {
static WebServerFactoryCustomizerBeanPostProcessor servletWebServerCustomizerBeanPostProcessor() {
return new WebServerFactoryCustomizerBeanPostProcessor();
}

View File

@@ -211,12 +211,12 @@ class HttpEncodingAutoConfigurationTests {
static class MinimalWebAutoConfiguration {
@Bean
MockServletWebServerFactory MockServletWebServerFactory() {
MockServletWebServerFactory mockServletWebServerFactory() {
return new MockServletWebServerFactory();
}
@Bean
WebServerFactoryCustomizerBeanPostProcessor ServletWebServerCustomizerBeanPostProcessor() {
static WebServerFactoryCustomizerBeanPostProcessor servletWebServerCustomizerBeanPostProcessor() {
return new WebServerFactoryCustomizerBeanPostProcessor();
}

View File

@@ -1098,7 +1098,7 @@ class WebMvcAutoConfigurationTests {
}
@Bean
WebServerFactoryCustomizerBeanPostProcessor ServletWebServerCustomizerBeanPostProcessor() {
static WebServerFactoryCustomizerBeanPostProcessor servletWebServerCustomizerBeanPostProcessor() {
return new WebServerFactoryCustomizerBeanPostProcessor();
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2012-2023 the original author or authors.
* Copyright 2012-2025 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.
@@ -183,7 +183,7 @@ class WebSocketServletAutoConfigurationTests {
}
@Bean
WebServerFactoryCustomizerBeanPostProcessor ServletWebServerCustomizerBeanPostProcessor() {
static WebServerFactoryCustomizerBeanPostProcessor servletWebServerCustomizerBeanPostProcessor() {
return new WebServerFactoryCustomizerBeanPostProcessor();
}