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]

Reply via email to