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]

Reply via email to