The current infrastructure is built around the concept of creating an ApplicationContext to let contributors run in the context of the generation of a particular project.
There are several reasons why this needs to be a child of an existing context:
Some components have an application lifecycle (indent strategy, default "infrastructure" such as code writers or a cache of templates)
Some requested components are defined in the application itself and need to be accessible by some contributors (the metadata being one of those).
The current infrastructure is built around the concept of creating an
ApplicationContext
to let contributors run in the context of the generation of a particular project.There are several reasons why this needs to be a child of an existing context: