matrei opened a new pull request, #15565: URL: https://github.com/apache/grails-core/pull/15565
## Copilot PR description: This pull request removes deprecated code and legacy behaviors in preparation for Grails 8.0, with a focus on simplifying enum marshalling, cleaning up obsolete constructors and methods, and removing compatibility stubs. The changes modernize the codebase and remove support for deprecated configuration and extension points. **Enum marshalling and converter configuration:** - Removed the legacy `EnumMarshaller` classes for both JSON and XML, and updated the configuration to always register `SimpleEnumMarshaller` by default, eliminating the previous format switch and legacy marshaller registration. This simplifies enum serialization and prepares for consistent behavior in Grails 8.0. (`ConvertersConfigurationInitializer.java` [[1]](diffhunk://#diff-18c2d507f33cd56fc611c00a455a38f13e31e43cb4256662e6e3fc88a977035aR98-L108) [[2]](diffhunk://#diff-18c2d507f33cd56fc611c00a455a38f13e31e43cb4256662e6e3fc88a977035aR181-L198); `EnumMarshaller.java` [[3]](diffhunk://#diff-ec701d0537e4a8a861e5950a2486e5d1f1a48ac13113165f4302fc7847017f58L1-L66) [[4]](diffhunk://#diff-eff2c39ad4b222968144a6066fcd5ed25c4f777cbfc38138da8f03a959e63db3L1-L62) **Removal of deprecated plugin and application extension points:** - Removed deprecated constructors and methods from `GrailsApplicationPostProcessor` and `ProfilingGrailsApplicationPostProcessor`, including those related to plugin discovery and plugin manager customization, as well as from `DefaultGrailsPluginManager`. These changes further enforce the use of the new plugin discovery approach. (`GrailsApplicationPostProcessor.groovy` [[1]](diffhunk://#diff-a40886e913ec773fb6fc3dbf117318b81d4c3fd924fce7f1f53fd87bdc96a3d9L101-L110) [[2]](diffhunk://#diff-a40886e913ec773fb6fc3dbf117318b81d4c3fd924fce7f1f53fd87bdc96a3d9L142-L155); `ProfilingGrailsApplicationPostProcessor.groovy` [[3]](diffhunk://#diff-55eab85d3082ea798fbaf79e6388520ce10e6572e72dbf5da9127df5bec78328L47-R47); `DefaultGrailsPluginManager.java` [[4]](diffhunk://#diff-5d483fdabdb1afc265f2203e0b9b877cafc5bfa0ff5c6f74b7ea825bd89c018eL73-L102) **Core API cleanup:** - Removed deprecated constants from the `GrailsApplication` interface and the deprecated `setLoadCorePlugins` method from `GrailsPluginManager`, reflecting their obsolescence in the new plugin architecture. (`GrailsApplication.java` [[1]](diffhunk://#diff-a782e54806413607b2054e1bb98f84c8c306fb4550ce9ec4c4cb1ac3c338af9aL56-L70); `GrailsPluginManager.java` [[2]](diffhunk://#diff-9880353d106ae4eb1658ff03432c2ba70bd868e7d946e95e9c10d74977d95577L242-L251) **Compatibility and legacy code removal:** - Deleted the `CompatibilityPluginFilter` class, which was a compatibility stub for plugin filtering, as it is no longer needed. (`CompatibilityPluginFilter.java` [grails-core/src/main/groovy/grails/plugins/CompatibilityPluginFilter.javaL1-L46](diffhunk://#diff-7f6849701bbf07a8a88acc8744302637ac1536d2b86f3de054d74474c1bb7249L1-L46)) - Removed the deprecated `grails-events-compat` dependency from the async plugin build configuration. (`build.gradle` [grails-async/plugin/build.gradleL39](diffhunk://#diff-b91e009cadb16616500af3e2a31d464a9a9e0b286504ecef753bc3d2a02f64a8L39)) **Deprecated builder removal:** - Removed the deprecated `JSONBuilder` class, which was superseded by `StreamingJsonBuilder`. (`JSONBuilder.groovy` [grails-converters/src/main/groovy/grails/web/JSONBuilder.groovyL1-L175](diffhunk://#diff-758fc8d39b8972ff77ae4f1c2d977728ec0340fa5e3b00577f007282a98582a1L1-L175)) -- 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]
