jamesfredley commented on PR #15557: URL: https://github.com/apache/grails-core/pull/15557#issuecomment-4596975800
Rebased on the latest `8.0.x` and trimmed the diff down to only what Groovy 5 actually needs. **Merge** - Merged current `8.0.x` (Spring Boot 4.1.0-RC1 + the taglib method-actions feature #15465). Only conflict was `dependencies.gradle`: took the base's `mongodb.version=5.7.0-beta1`, kept the PR's kotlin/mockito/liquibase-hibernate5 version keys. **Removed - not required for Groovy 5** - The Spock `iKnowWhatImDoing.disableGroovyVersionCheck` flag (CompilePlugin + test-config + functional-test-config). Spock `2.4-groovy-5.0` accepts the `[5.0.0, 5.9.99]` window, so it never fired on `5.0.7-SNAPSHOT` - confirmed by source and by `:grails-bootstrap:test` / `:grails-validation:test` (concrete-class mocking) passing with it gone. Also dropped the redundant per-module byte-buddy/objenesis double-adds. - `grails-test-examples/compile-static` (a full 45-file example app), the generated `Grails BOM Hibernate5/7.adoc` docs, a `dbmigration/logback-test.xml`, and assorted cosmetic blank-line spec edits. - An incidental `@Slf4j` refactor in `NavigableMap` (kept only the Groovy-5 `ConfigObject` fix). - The `ConfigurationBuilder` `ConverterNotFoundException` fallback + companion `@AutoClone` annotations - this is **Spring 7** Map-to-`@Builder` conversion (per the original inline comment, "independent of the Groovy version"); `:grails-datastore-core:test` passes on `5.0.7-SNAPSHOT` without it. **Flagging for relocation to a separate Spring-7 PR** if it's still needed at runtime (unit tests don't exercise that path). **Workarounds re-checked** - Re-verified against the latest `GROOVY_5_0_X` (`5.0.7-SNAPSHOT` build as of 2026-06-01): none of the 4 remaining workarounds can be dropped yet (GROOVY-11985/#2529 still open, GROOVY-12041 now filed but unfixed, the two unfiled NPE/static-init bugs unchanged). The PR description now lists only those 4. One known-ugly item left in scope: the `grails-views-gson` `StreamingJsonBuilder`/`JsonGenerator` shims exist because Groovy 5 made `groovy.json.StreamingJsonBuilder.StreamingJsonDelegate` package-private. They're a genuine Groovy-5 adaptation; a cleaner FQN-based fix is a possible follow-up. -- 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]
