borinquenkid opened a new pull request, #16351:
URL: https://github.com/apache/grails-core/pull/16351
## Summary
Converts the framework's remaining Java source files to Groovy, across ~90
commits touching essentially every module: grails-core, grails-bootstrap,
grails-encoder (including the 2932-line `StreamCharBuffer.java`),
grails-shell-cli, grails-beans-dsl, grails-i18n, grails-controllers,
grails-databinding-core, grails-web-url-mappings, grails-web-common,
grails-converters, grails-gsp
(sitemesh3/web-gsp-taglib/plugin-main/spring-boot/web-gsp/web-taglib/layout/taglib/web-jsp),
the grails-gradle model module, and more.
This idea was mine; the implementation and verification work below was
Claude's, under my direct supervision throughout.
A cross-cutting correctness bug was found and fixed along the way: under
`@CompileStatic`, `Closure.call(new Object[]{x})` resolves to the
`call(Object)` overload instead of `call(Object[])`, double-wrapping arguments
— this had silently corrupted single-param tag-closure calls in
already-committed grails-taglib/grails-web-jsp/grails-core/grails-converters
code before it was caught and fixed.
Every remaining `.java` file in the repository is either in a module
deliberately excluded from this migration (grails-data-hibernate5 — since
removed from `9.0.x` separately, grails-forge, grails-benchmarks,
grails-test-examples, grails-wrapper, grails-undertow's vendored Spring Boot
code) or one of several individually-verified deliberate exclusions (e.g.
`package-info.java` files, standard practice for package-level javadoc).
Merged forward from `origin/9.0.x` throughout rather than rebased, per this
branch's established practice, most recently a 45-conflict merge plus two
Groovy 6 upgrade compatibility fixes.
## Test plan
- [x] Every batch of conversions was compiled and its module's full test
suite run before moving to the next
- [x] A `javap`-based audit confirmed no accidental MOP (meta-object
protocol) leaks or signature drift across converted classes
- [x] Downstream consumers of each converted module were independently
verified to still compile
- [x] Checkstyle/CodeNarc clean across converted files
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
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]