jamesfredley commented on PR #15558:
URL: https://github.com/apache/grails-core/pull/15558#issuecomment-4410098691
### Burn-down pass: 2026-05-08, against Groovy 6.0.0-SNAPSHOT build #609
**Diff vs the previous push** (canary `bd7a30ae` -> `3cbd88b1`):
1. **Pulled #15557 forward** into this canary (`f8bb2829`). Brings in the
final Groovy 5 audit work that landed on `grails8-groovy5-sb4` between
2026-05-04 and 2026-05-08:
- `813b1316` Bump javaparser-core to 3.28.1 to align with Groovy
5.0.6-SNAPSHOT
- `43ad57a2` Final Groovy 5 audit pass: clean up silent File-truthiness
traps + stale JIRA reference
- `faef56cf` render(Map) workarounds: align inline diagnoses with
File-truthiness root cause
- `65d194f4` Restore IContainerGebConfiguration as interface -
GROOVY-11982 fixed in 5.0.6
- `b47917c1` / `d48be122` forge dockerBuildNative class-initialization
fixes
- `8f711231` Merge back 8.0.0-M1 (release v8.0.0-M1, JDK 21+ minimum, JDK
26 added, testcontainers 2.x in forge generated apps)
Merge was clean, conflicts resolved by `ort` strategy with no manual
intervention. `dependencies.gradle` kept the `groovy.version: '6.0.0-SNAPSHOT'`
pin (the base bumped its `groovy.version` to `5.0.6-SNAPSHOT`; this canary
stays on 6.0.0-SNAPSHOT and inherits everything else).
2. **Diff'd `apache/groovy` master** `40499016..bc4caccc` (audit window
2026-05-03 18:03 UTC -> 2026-05-08 19:32 UTC, 30+ commits) and mapped each
commit onto the canary's open and closed workaround inventory. **Three**
upstream fixes mapped:
- [GROOVY-11986](https://issues.apache.org/jira/browse/GROOVY-11986)
"genericGetMethod registration too permissive: matches any get(X) where X is a
supertype of String" - apache/groovy `999f6dcd` + `a4caaa4b`. **Removable**
(was the open canary-only Groovy 6 workaround).
- [GROOVY-11980](https://issues.apache.org/jira/browse/GROOVY-11980) and
[GROOVY-11982](https://issues.apache.org/jira/browse/GROOVY-11982) - already
removed in `bd7a30ae` last push.
The rest of the upstream window is dependency bumps (jline, jackson,
javaparser), test-infrastructure work (`@ForkedJvm`, `@ExpectedToFail`
extensions on `groovy-test-junit6`), and unrelated language work (intersection
types `GROOVY-11998` parts 1-5, serializable method references `GROOVY-11993`,
`GROOVY-11999` `ProxyGeneratorAdapter` NPE on mixed classloaders,
`GROOVY-11994` `groovy.val.enabled` flag, `GROOVY-11996` test-only follow-up to
the 5.0.6 `groovy.truth.file.exists.enabled` flag, `GROOVY-11988`
`{@inheritDoc}` for external JDK classes, `GROOVY-11987` groovydoc CLI fix,
`GROOVY-11995` groovyc ant task system properties).
3. **Dropped the `GormEntityTransformation` per-entity AST `Object
get(String)` shim** (`3cbd88b1`). Three deletions:
- The 26-line AST `instanceGetBody` block in
`GormEntityTransformation.applyTransformation` (lines 295-320 of the previous
tree).
- The 18-line stale doc comment on `GormEntity.get(Serializable)`
describing the now-resolved Groovy 6 dispatch hijack.
- The `'test Groovy 6 generic-getter instance-dispatch guard'` regression
test in `GormEntityTransformSpec` (lines 220-235). It only verified that the
AST shim was added - so it has no meaning once the shim is gone. The actual
dispatch behaviour is gated by the integration suites that originally surfaced
the regression (`DataServiceConnectionRoutingSpec`,
`CrossLayerMultiDataSourceSpec` in the Hibernate5 / Functional / Mongodb
matrices).
Total: 3 files, 59 deletions.
**Local verification** (JDK 21, against the cached 6.0.0-SNAPSHOT
publication `20260508.194756` = build #609):
```
./gradlew :grails-datamapping-core:compileGroovy BUILD SUCCESSFUL
./gradlew :grails-datamapping-core:test BUILD SUCCESSFUL
```
Full integration validation (Hibernate5, Functional, Mongodb under both
`-PgrailsIndy=false` and `-PgrailsIndy=true`) is deferred to the canary CI
matrix on this push.
**Standing position after this push**: zero Groovy-6-only workarounds remain
on this canary. The five remaining workarounds in the description are all
inherited from #15557 and reproduce identically on Groovy 5.0.6-SNAPSHOT and on
Groovy 6.0.0-SNAPSHOT.
[GROOVY-11985](https://issues.apache.org/jira/browse/GROOVY-11985)
(Validateable trait-static dispatch) is the only one with an open upstream
ticket; the other four ("VariableScopeVisitor NPE in canonicalisation",
"indy=false controller-parameter scope loss", "ConfigurationBuilder +
AbstractConstraint static-init", "GROOVY-6362/GROOVY-11817 `g` taglib
regression") need standalone reproducers extracted before they can be filed.
cc @paulk-asert - thanks for
[GROOVY-11986](https://issues.apache.org/jira/browse/GROOVY-11986); verified
clean on build #609.
--
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]