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

Head commit for run:
40c7fe7a3dfa041ef510bb5d8c4016ea48d21b84 / James Fredley 
<[email protected]>
Make @GrailsCompileStatic controller namespaced tag calls compile on Groovy 5

The compileStaticTagLibs support merged from 8.0.x 
(ControllerTagLibTypeCheckingExtension)
relied on the unresolvedVariable / unresolvedProperty callbacks firing for the 
namespace
dispatcher receiver (e.g. the `cst` in `cst.greet(...)`). On Groovy 5 those 
callbacks no
longer fire when the controller inherits getProperty(String) (GROOVY-12041), so 
the
dispatcher resolves to Object and the subsequent tag call failed static type 
checking with
"Cannot find matching method java.lang.Object#<tag>(...)".

methodNotFound now recognises that case directly: when the receiver is 
Object-typed and the
object expression is a bare-variable or this-property dispatcher, the call is 
made dynamic -
matching this extension's existing intent to silence namespace dispatch in 
controllers. Calls
on declared fields/locals keep their concrete receiver type and remain fully 
type-checked, so
the type-safety guarantees are preserved.

This fixes the Groovy 5 compile failures in ControllerCompileStaticTagLibSpec 
(grails-gsp) and
the demo33 CompileStaticController, which were cascading into the full build, 
functional,
mongodb, hibernate and SiteMesh CI lanes.

Assisted-by: Sisyphus:anthropic/claude-opus-4-8

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

With regards,
GitHub Actions via GitBox

Reply via email to