The GitHub Actions job "CI" on grails-core.git/grails8-groovy5-sb4 has failed.
Run started by GitHub user jamesfredley (triggered by jamesfredley).

Head commit for run:
47ed74fef24aaa768040821bafe87945208d8168 / James Fredley 
<[email protected]>
Restore GrailsApplicationCommand as trait; correct root-cause comments

The trait -> abstract class conversion in a0ee062e89 was based on an incorrect 
diagnosis. A standalone Groovy-only reproducer 
(https://github.com/jamesfredley/groovy5-compiledynamic-trait-bug) shows that 
the silent no-op of render(Map) under Groovy 5 @CompileStatic reproduces 
equally with abstract class, and equally with a direct call on the field with 
no @Delegate involved. The failure is at the call site, not in the 
@Delegate-generated forwarder or the trait bridge.

Restored:

- GrailsApplicationCommand back to trait

- 9 scaffolding commands + Command.groovy template back to 'implements'

- Comment in TemplateRendererImpl.render(Map) now describes the actual 
mechanism and references the reproducer

- Comment in GenerateControllerCommand updated for accuracy

Kept:

- Statically-typed render(Map) body in TemplateRendererImpl (defence-in-depth)

- Typed positional templateRenderer.render(Resource,File,Map,boolean) in 
GenerateControllerCommand (the actual workaround that bypasses the regression)

Assisted-by: claude-code:claude-opus-4-7

Report URL: https://github.com/apache/grails-core/actions/runs/24998667667

With regards,
GitHub Actions via GitBox

Reply via email to