in internal/core/component.go [259:282]
func (c *Component) Install(componentPath string, generator Generator) (err error) {
if err := c.beforeInstall(); err != nil {
return err
}
// Install subcomponents
for _, subcomponent := range c.Subcomponents {
if err = subcomponent.applyDefaultsAndMigrations(); err != nil {
return err
}
if err := subcomponent.InstallComponent(componentPath); err != nil {
return err
}
}
// Install self
if generator != nil {
if err := generator.Install(c); err != nil {
return err
}
}
return c.afterInstall()
}