jamesfredley commented on PR #15557: URL: https://github.com/apache/grails-core/pull/15557#issuecomment-4366834020
@jdaugherty Current state of the upstream tickets for the standalone reproducers in https://github.com/jamesfredley/groovy5-compiledynamic-trait-bug: | Reproducer | Workaround in this PR | Groovy ticket | Status against 5.0.6-SNAPSHOT build #23 | |---|---|---|---| | `SmartCastCheck.groovy` | (now removed) | [GROOVY-11983](https://issues.apache.org/jira/browse/GROOVY-11983) | **Fixed** - committed 2026-05-03 (`65d16eb4` on GROOVY_5_0_X, `af95d66d` on master). Two workarounds dropped from this PR in commit 73bd63c5477 (PersistentEntityCodec + DefaultHalViewHelper). | | `TraitStaticFieldsCheck.groovy` | (already removed in 74da8078b58) | [GROOVY-11968](https://issues.apache.org/jira/browse/GROOVY-11968) (follow-up to GROOVY-11907) | **Fixed** - committed 2026-04-27 (`46402fb29a`), in build #22+. ContainerSupport `@CompileDynamic` workaround dropped. | | `InterfaceDefaultsCheck.groovy` | ContainerGebConfiguration interface→trait | [GROOVY-11982](https://issues.apache.org/jira/browse/GROOVY-11982) | **Fixed in master only** - `88ca738c` on `master` 2026-05-02, NOT yet ported to `GROOVY_5_0_X`. Workaround stays until backport. | | Repo root (`render(Map)` silent no-op) | TemplateRendererImpl + GenerateControllerCommand typed positional render | Not yet filed | Reproduces on build #23. Will file. | | `Slf4jCheck.groovy` | (already removed) | n/a | Reproducer doesn't trigger; the workaround was based on a misdiagnosis. | | `ConfigObjectCheck.groovy` | (already removed) | n/a | Reproducer doesn't trigger; replaced with a smaller `containsKey + readWithoutCreating` change in `NavigableMap.resolveConfigMapValue`. | Outside the standalone reproducer set, two more workarounds in this PR have well-defined upstream tickets: - **TraitPropertyAccessStrategy** - [GROOVY-11512](https://issues.apache.org/jira/browse/GROOVY-11512). Filed (Status: Open). - **VariableScopeVisitor NPE on Grails AST transform output** - not yet filed. The trigger is compiling `DataServiceRoutingProductDataService.groovy`; the visitor itself didn't change shape, what changed is that some Grails AST transforms now produce a node shape the visitor fails on. I'll file this with a Grails-side reproducer (the failing `:grails-datamapping-tck:compileGroovy` invocation) since I haven't been able to reduce it to a Groovy-only standalone yet. Three more known-real Groovy 5 issues in this PR don't have standalone reproducers yet: - `@CompileStatic` `render(Map<String,Object>)` overload silently no-ops on multi-overload interface refs (workaround: typed positional `render(Resource, File, Map, boolean)`) - Controller action method parameter scope lost under `-PgrailsIndy=false` after `ControllerActionTransformer.wrapMethodBodyWithExceptionHandling` (workaround: 5 `grails-test-examples` projects keep `boot4-disabled-integration-test-config.gradle` applied) - `@Builder(builderStrategy = SimpleStrategy)` not recognised under Spring 6/7 + Groovy 5 in `ConfigurationBuilder` (workaround: Map exclusion ordering + `Object.class` fallback) I'll get standalone reproducers + Groovy tickets filed for these three over the next couple of pushes. PR description has been refreshed - the resolved-and-dropped section now includes GROOVY-11983 alongside GROOVY-11907 / GROOVY-11968, and the remaining-workaround inventory only lists items that actually still reproduce against build #23. cc @paulk-asert in case the GROOVY-11982 backport to `GROOVY_5_0_X` and a GROOVY-11512 nudge would help us drop more of these duct-tape lines. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
