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
