11package org.grails.testing
22
33import grails.boot.config.GrailsApplicationPostProcessor
4- import grails.boot.config.GrailsAutoConfiguration
54import grails.core.GrailsApplication
65import grails.core.GrailsApplicationLifeCycle
76import grails.core.support.proxy.DefaultProxyHandler
@@ -12,10 +11,6 @@ import groovy.transform.CompileDynamic
1211import groovy.transform.CompileStatic
1312import jakarta.servlet.ServletContext
1413import org.grails.plugins.IncludingPluginFilter
15- import org.grails.plugins.codecs.CodecsConfiguration
16- import org.grails.plugins.core.CoreConfiguration
17- import org.grails.plugins.databinding.DataBindingConfiguration
18- import org.grails.plugins.web.mime.MimeTypesConfiguration
1914import org.grails.spring.context.support.GrailsPlaceholderConfigurer
2015import org.grails.spring.context.support.MapBasedSmartPropertyOverrideConfigurer
2116import org.grails.transaction.TransactionManagerPostProcessor
@@ -27,6 +22,8 @@ import org.springframework.beans.factory.config.ConstructorArgumentValues
2722import org.springframework.beans.factory.support.BeanDefinitionRegistry
2823import org.springframework.beans.factory.support.DefaultListableBeanFactory
2924import org.springframework.beans.factory.support.RootBeanDefinition
25+ import org.springframework.boot.autoconfigure.AutoConfiguration
26+ import org.springframework.boot.context.annotation.ImportCandidates
3027import org.springframework.boot.test.context.ConfigDataApplicationContextInitializer
3128import org.springframework.boot.web.servlet.context.AnnotationConfigServletWebApplicationContext
3229import org.springframework.context.ConfigurableApplicationContext
@@ -36,10 +33,6 @@ import org.springframework.context.support.ConversionServiceFactoryBean
3633import org.springframework.context.support.PropertySourcesPlaceholderConfigurer
3734import org.springframework.context.support.StaticMessageSource
3835import org.springframework.core.Ordered
39- import org.springframework.core.convert.ConversionService
40- import org.springframework.core.env.ConfigurableEnvironment
41- import org.springframework.core.env.Environment
42- import org.springframework.core.env.PropertyResolver
4336import org.springframework.util.ClassUtils
4437
4538/**
@@ -108,19 +101,22 @@ class GrailsApplicationBuilder {
108101 }
109102
110103 protected ConfigurableApplicationContext createMainContext (Object servletContext ) {
111-
112104 ConfigurableApplicationContext context
113-
114105 if (isServletApiPresent && servletContext != null ) {
115106 context = (AnnotationConfigServletWebApplicationContext ) ClassUtils . forName(' org.springframework.boot.web.servlet.context.AnnotationConfigServletWebApplicationContext' ). getDeclaredConstructor(). newInstance()
116107 ((AnnotationConfigServletWebApplicationContext ) context). setServletContext((ServletContext ) servletContext)
117108 } else {
118109 context = (ConfigurableApplicationContext ) ClassUtils . forName(' org.springframework.context.annotation.AnnotationConfigApplicationContext' ). getDeclaredConstructor(). newInstance()
119110 }
120- ((AnnotationConfigRegistry ) context). register(CoreConfiguration , CodecsConfiguration , DataBindingConfiguration , MimeTypesConfiguration )
121111
122- def applicationClassLoader = this . class. classLoader
123- def configuredEnvironment = context. getEnvironment()
112+ def classLoader = this . class. classLoader
113+ ImportCandidates . load(AutoConfiguration , classLoader). asList(). findAll {
114+ it. startsWith(" org.grails" )
115+ && ! it. contains(" UrlMappingsAutoConfiguration" ) // this currently is causing an issue with tests
116+ }. each {
117+ ((AnnotationConfigRegistry ) context). register(ClassUtils . forName(it, classLoader))
118+ }
119+
124120 def beanFactory = context. getBeanFactory()
125121 (beanFactory as DefaultListableBeanFactory ). with {
126122 setAllowBeanDefinitionOverriding(true )
@@ -129,7 +125,6 @@ class GrailsApplicationBuilder {
129125 prepareContext(context, beanFactory)
130126 context. refresh()
131127 context. registerShutdownHook()
132-
133128 return context
134129 }
135130
0 commit comments