Skip to content

Commit b9d4617

Browse files
committed
GH-56 - ModuleTestAutoConfiguration is now autoconfiguration of highest precedence.
Also, keep autoconfiguration packages as String array to avoid ClassCastExceptions when the bean definition's constructor arguments are inspected manually (like in AutoConfigurationPackages.addBasePackages(…).
1 parent e972875 commit b9d4617

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

spring-modulith-test/src/main/java/org/springframework/modulith/test/ModuleTestAutoConfiguration.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,11 @@
2828
import org.springframework.beans.factory.config.BeanDefinition;
2929
import org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder;
3030
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
31+
import org.springframework.boot.autoconfigure.AutoConfigureOrder;
3132
import org.springframework.context.annotation.Configuration;
3233
import org.springframework.context.annotation.Import;
3334
import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
35+
import org.springframework.core.Ordered;
3436
import org.springframework.core.type.AnnotationMetadata;
3537
import org.springframework.util.ReflectionUtils;
3638
import org.springframework.util.StringUtils;
@@ -44,6 +46,7 @@
4446
*/
4547
@Configuration
4648
@Import(ModuleTestAutoConfiguration.AutoConfigurationAndEntityScanPackageCustomizer.class)
49+
@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE)
4750
class ModuleTestAutoConfiguration {
4851

4952
private static final String AUTOCONFIG_PACKAGES = "org.springframework.boot.autoconfigure.AutoConfigurationPackages";
@@ -106,7 +109,7 @@ private void setBasePackagesOn(BeanDefinitionRegistry registry, String beanName,
106109
.forEach(packages::add);
107110

108111
// Fall back to customize the bean definition in a Boot 2.3 arrangement
109-
definition.getConstructorArgumentValues().addIndexedArgumentValue(0, packages);
112+
definition.getConstructorArgumentValues().addIndexedArgumentValue(0, packages.toArray(String[]::new));
110113
}
111114
}
112115
}

0 commit comments

Comments
 (0)