The GitHub Actions job "CI" on grails-core.git/fix/spring7-nested-map-conversion has succeeded. Run started by GitHub user jdaugherty (triggered by jdaugherty).
Head commit for run: 8aee63808cecbf1e77466ceb4640dfe785b12713 / James Daugherty <[email protected]> Bind nested settings entries the resolver cannot address by path The Map fallback re-read every nested entry from the property resolver by dotted path and discarded the value it already held. The resolver exposes the aggregate Map for a level without always exposing what sits below it, so a configured value was silently dropped - hibernate.hibernateEventListeners built an empty bean instead of failing loudly as it did before. Bind the entry in hand when the resolver has nothing for the path and the value is already assignable, so declared conversion still runs where it applies. Also: - Read the raw value only when the typed lookup found nothing, saving a resolver pass per nested scalar. - Resolve a Class entry from the value in hand and keep an inherited class when the configured value names none, matching the top-level handling. - Store map-backed entries under the normalized String key so they stay addressable by String. - Resolve a flattened descendant key from its path rather than from the descendant's value, which belongs to a deeper property. - Report a setter that rejects a value against the property's own path instead of the parent's, with the type that was expected. - Correct the comments: a type carrying a runtime @Builder annotation is built by the recursion above and never reaches this branch. Covers the Class-typed, map-backed key and resolver-addressing paths with specs, including the Hibernate settings tree that reproduces the failure. Report URL: https://github.com/apache/grails-core/actions/runs/35926294956 With regards, GitHub Actions via GitBox
