jdaugherty opened a new pull request, #16456: URL: https://github.com/apache/grails-core/pull/16456
GrailsAppBuilder only swapped in a GrailsApp; Spring Boot's child(), parent() and sibling() still produced plain builders, so a hierarchy lost the Grails startup defaults, and the "launched by GrailsApp" rule would have started a plugin manager in every context of one. The builder now owns the hierarchy itself and overrides every Boot fluent method with a covariant return, so a chain stays in Grails terms and every context of a hierarchy is started by a GrailsApp. Exactly one context is the Grails application: the one whose sources include the application class. GrailsApp marks hierarchy members and stashes its sources only when one is an application class; a second application beneath the first is refused; the singletons a Grails context lends its parent are withdrawn when it closes; the development watch starts only where the plugin manager lives, and no address is reported for a context without a web server. Documented in a new "Building the Application" page and the what's new section, and exercised by two example applications: a shared Spring parent with a Grails web child, and a command-line program with a non-web Grails parent and a Spring child. This change is being done to support an eventual conversion of grails-forge to a grails project that doesn't have a web context. @jamesfredley -- 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]
