This change extends the configuration schema to support the specification of common messages, when defining a messageSource bean. Common messages are described here:

Specify locale-independent common messages, with the message code as key and the full message String (may contain argument placeholders) as value.

Still in the process of testing this, and figured it would be good to post this early to get feedback.

Thank you!

Comment From: mmoayyed

Hello all, I see this PR has been "partially" reviewed. In concept, does this pass muster, and can it be included in the coming RC? Is the idea sound here?

Comment From: mmoayyed

Thank you very much @philwebb . Updated PR based on your comments and resolved conflicts with upstream. Please resume.

Comment From: mmoayyed

Side note: I think it would be good to disable the Gradle configuration cache for the project explicitly (in case someone has it globally enabled). otherwise things like this show up:

* What went wrong:
Could not load the value of field `b` of `com.gradle.scan.plugin.internal.service.d` bean found in field `pluginServiceFactory` of `org.gradle.internal.enterprise.impl.DefaultGradleEnterprisePluginAdapter` bean found in Gradle runtime.
> Could not load the value of field `onAccess` of `org.gradle.internal.configuration.inputs.AccessTrackingEnvMap` bean found in field `env` of `io.spring.develocity.conventions.gradle.DevelocityConventionsPlugin$2` bean found in field `capturedArgs` of `java.lang.invoke.SerializedLambda` bean found in field `capturedArgs` of `java.lang.invoke.SerializedLambda` bean found in field `a` of `com.gradle.develocity.agent.gradle.internal.scan.BuildScanConfigurationInternal$1` bean found in field `a` of `com.gradle.scan.plugin.internal.service.a.e$a` bean found in field `a` of `com.gradle.scan.plugin.internal.service.a.g` bean found in field `m` of `com.gradle.scan.plugin.internal.service.a.e` bean found in field `m` of `com.gradle.scan.plugin.internal.service.n` bean found in field `a` of `com.gradle.scan.plugin.internal.service.PluginServiceFactory` bean found in field `b` of `com.gradle.scan.plugin.internal.service.d` bean found in field `pluginServiceFactory` of `org.gradle.internal.enterprise.impl.DefaultGradleEnterprisePluginAdapter` bean found in Gradle runtime.

...which can be bypassed with an explicit --no-configuration-cache parameter but of course are less than pleasant.

Comment From: philwebb

Thanks very much @mmoayyed, this has been merged to main.