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

Reply via email to