This is an automated email from the ASF dual-hosted git repository. codeconsole pushed a commit to branch 8.0.x in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit f1a857373f1ea8b8939dd6d8a9aede76161ee2c6 Merge: 983e502f1c 7aaa5bcaa7 Author: Scott Murphy <[email protected]> AuthorDate: Wed Aug 19 14:02:56 2026 -0700 Merge pull request #16102 from codeconsole/feature/i18n-boot-message-source-8.0.x Move i18n onto Spring Boot's MessageSource .../src/main/groovy/grails/config/Settings.groovy | 22 +- .../PluginAwareResourceBundleMessageSource.java | 308 --------- .../ReloadableResourceBundleMessageSource.java | 735 --------------------- .../additional-spring-configuration-metadata.json | 21 + .../META-INF/spring-configuration-metadata.json | 12 - .../context/ResourceBundleMessageSourceSpec.groovy | 67 -- grails-doc/src/en/guide/i18n/changingLocales.adoc | 5 +- .../en/guide/i18n/understandingMessageBundles.adoc | 67 ++ grails-doc/src/en/guide/introduction/whatsNew.adoc | 25 + .../springSecurity/ui/customization.adoc | 2 +- .../src/en/guide/upgrading/upgrading80x.adoc | 118 ++++ .../gradle/plugin/core/GrailsExtension.groovy | 18 + .../gradle/plugin/core/GrailsGradlePlugin.groovy | 54 ++ .../gradle/plugin/core/GrailsI18nOptions.groovy | 64 ++ .../plugin/core/GrailsPluginGradlePlugin.groovy | 32 + .../plugin/i18n/GenerateI18nDescriptorTask.groovy | 177 +++++ .../gradle/plugin/i18n/I18nBundleIndex.groovy | 222 +++++++ .../i18n/GenerateI18nDescriptorTaskSpec.groovy | 124 ++++ .../gradle/plugin/i18n/I18nBundleIndexSpec.groovy | 148 +++++ .../i18n/I18nDescriptorFunctionalSpec.groovy | 119 ++++ .../test-projects/i18n-descriptor-app/build.gradle | 3 + .../i18n-descriptor-app/gradle.properties | 2 + .../grails-app/i18n/api_errors.properties | 1 + .../grails-app/i18n/messages.properties | 1 + .../grails-app/i18n/messages_de.properties | 1 + .../grails-app/i18n/messages_pt_BR.properties | 1 + .../i18n-descriptor-app/settings.gradle | 1 + .../i18n-descriptor-declared/build.gradle | 9 + .../i18n-descriptor-declared/gradle.properties | 2 + .../grails-app/i18n/api.properties | 1 + .../grails-app/i18n/api_errors.properties | 1 + .../i18n-descriptor-declared/settings.gradle | 1 + .../i18n-descriptor-plugin-collision/build.gradle | 3 + .../gradle.properties | 2 + .../grails-app/i18n/messages.properties | 1 + .../settings.gradle | 1 + .../demo/SpringSecurityDemoGrailsPlugin.groovy | 5 + .../i18n-descriptor-plugin/build.gradle | 3 + .../i18n-descriptor-plugin/gradle.properties | 2 + .../spring-security-demo-validation.properties | 1 + .../i18n/spring-security-demo.properties | 1 + .../i18n/spring-security-demo_fr.properties | 1 + .../i18n-descriptor-plugin/settings.gradle | 1 + .../demo/SpringSecurityDemoGrailsPlugin.groovy | 5 + .../plugins/i18n/AvailableLocaleResolver.java | 155 ++--- .../plugins/i18n/EffectiveI18nDescriptors.java | 141 ++++ .../org/grails/plugins/i18n/I18nDescriptor.java | 60 ++ .../org/grails/plugins/i18n/I18nDescriptors.java | 175 +++++ .../plugins/i18n/I18nEnvironmentPostProcessor.java | 251 +++++++ .../grails/plugins/i18n/I18nGrailsPlugin.groovy | 58 +- .../plugins/i18n/I18nRuntimeHintsProcessor.java | 117 ++++ .../src/main/resources/META-INF/spring.factories | 13 +- .../main/resources/META-INF/spring/aot.factories | 14 +- .../i18n/AvailableLocaleResolverSpec.groovy | 190 ++---- .../plugins/i18n/I18nAutoConfigurationSpec.groovy | 67 +- .../grails/plugins/i18n/I18nDescriptorsSpec.groovy | 184 ++++++ .../i18n/I18nEnvironmentPostProcessorSpec.groovy | 291 ++++++++ .../plugins/i18n/I18nGrailsPluginSpec.groovy | 17 +- .../i18n/I18nRuntimeHintsProcessorSpec.groovy | 119 ++++ .../i18n/MessageSourcePrecedenceSpec.groovy | 124 ++++ .../plugins/i18n/MessageSourceReloadSpec.groovy | 97 +++ .../i18n/fixtures/AlphaPluginGrailsPlugin.groovy | 26 + .../i18n/fixtures/BetaPluginGrailsPlugin.groovy | 26 + .../test/resources/META-INF/grails/i18n.properties | 8 + .../src/test/resources/alpha-plugin.properties | 3 + .../src/test/resources/beta-plugin.properties | 3 + ...roperties => spring-security-oauth2.properties} | 0 ...ui.properties => spring-security-ui.properties} | 0 .../{messages.properties => loadfirst.properties} | 0 ...en_US.properties => loadfirst_en_US.properties} | 0 .../springsecurity/PluginMessageBundleSpec.groovy | 55 ++ .../groovy/org/grails/plugins/PluginTests.java | 7 +- 72 files changed, 3142 insertions(+), 1449 deletions(-)
