You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@grails.apache.org by GitBox <gi...@apache.org> on 2026/06/24 07:08:54 UTC

[GH] (grails-core/feature/compile-static-artefacts): Workflow run "CI" failed!

The GitHub Actions job "CI" on grails-core.git/feature/compile-static-artefacts has failed.
Run started by GitHub user codeconsole (triggered by codeconsole).

Head commit for run:
3f2de3e1a907bec2480512ab818930cef77d0e22 / Scott Murphy Heiberg <sc...@alwaysvip.com>
Add opt-in to compile all controllers, services and tag libraries with @GrailsCompileStatic

Introduce three Grails Gradle extension flags, compileStaticControllers,
compileStaticServices and compileStaticTagLibs, that opt every controller,
service and tag library into @GrailsCompileStatic at compile time without
annotating each class, plus a compileStaticArtefacts shortcut that enables all
three at once. All default to false and are independent.

The flags are published to the Groovy compiler worker JVM as system properties
by GrailsCompileStaticArtefactsProvider; CompileStaticArtefactInjector then
stamps @GrailsCompileStatic onto matching artefacts via
GrailsASTUtils.addGrailsCompileStaticAnnotation. A class that already declares
@CompileStatic, @CompileDynamic, @TypeChecked, @GrailsCompileStatic or
@GrailsTypeChecked keeps its own setting, so an explicit per-class choice
always wins.

To make tag libraries statically compilable, ControllerTagLibTypeCheckingExtension
now treats *TagLib classes the same as *Controller classes for dynamic tag
dispatch, and defers (rather than throwing) when there is no enclosing method so
deprecated closure-field tags fail with a normal type error instead of crashing
the compiler. Method-based tags are the supported form.

Includes unit tests, Gradle plugin tests and documentation.

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

With regards,
GitHub Actions via GitBox