The GitHub Actions job "SiteMesh 2 Compatibility" on grails-core.git/refactor/bean-registrars has failed. Run started by GitHub user codeconsole (triggered by codeconsole).
Head commit for run: 38902374f6a19ced212e8e7b6b536c5c034a836c / Scott Murphy Heiberg <[email protected]> Convert remaining plugin descriptors from doWithSpring() to beanRegistrar() Migrates the in-tree framework plugins off the deprecated doWithSpring() bean DSL onto the BeanRegistrar API, following the pattern established by the SiteMesh 3 (#15964) and scaffolding (#15966) conversions. Descriptors are now statically compiled where the remaining hooks allow it. Converted with a straight registrar (config reads move to the Spring Environment, constructor/property refs become supplier lookups): async, cache, converters, datasource, dbmigration (hibernate5 + 7), domain-class, events, fields, gorm-graphql, layout, markup views, json views, rest-transforms, url-mappings. Per-artefact bean definitions (controllers, interceptors, services) and the redis pool beans need definition-level features the BeanRegistry API cannot express: autowire-by-name, arbitrary scopes, destroy methods and dynamic property values. Those registrations move to dedicated BeanDefinitionRegistryPostProcessors registered through beanRegistrar(). They run with highest priority so their definitions are visible to Spring Boot auto-configuration conditions, matching the visibility the doWithSpring() drain gave them, and an existing definition always wins so applications can still override the beans by name. Notable adjustments preserving behaviour: - The interceptor handler adapter becomes the named bean grailsInterceptorHandlerInterceptorAdapter (previously an inner bean) so its @Autowired members, including the Interceptor[] array, are still injected. - The converters error marshaller registerers reference the existing named marshaller beans instead of duplicating them as inner beans, keeping the ApplicationContextAware callback. - RedisConfigurationUtil gains a BeanDefinitionRegistry-based configureService variant; the bean-builder closure form remains for existing consumers. - GrailsUnitTest.defineBeans(plugin) now also applies a plugin's beanRegistrar(), so test setup that passes converted plugin instances (converters, json views) keeps working. - The chainedTransactionManagerPostProcessor registration drops the unrefreshed-context transactionManager guard; the post-processor itself only acts when a transactionManager definition and multiple chainable managers exist. The plugin and web-plugin profile skeletons and the plugin developer guide now show beanRegistrar() instead of the deprecated hook. Still on doWithSpring() (deferred): CoreGrailsPlugin and GroovyPagesGrailsPlugin (abstract parent bean templates and XML namespace handlers - the resolver-pipeline linchpin), the hibernate/mongodb/neo4j plugins (their datastore SpringInitializers return bean DSL closures) and the spring-security suite (config-driven DSL throughout). Report URL: https://github.com/apache/grails-core/actions/runs/29593786556 With regards, GitHub Actions via GitBox
