Support resource generator options in exec plugins

This commit is contained in:
Richard Marshall
2019-08-22 08:06:58 -07:00
parent 9b3de82b45
commit 79fbe7c4cc
3 changed files with 49 additions and 15 deletions

View File

@@ -250,31 +250,23 @@ func (kt *KustTarget) AccumulateTarget() (
func (kt *KustTarget) runGenerators(
ra *accumulator.ResAccumulator) error {
generators, err := kt.configureBuiltinGenerators()
var generators []resmap.Generator
gs, err := kt.configureBuiltinGenerators()
if err != nil {
return err
}
for _, g := range generators {
resMap, err := g.Generate()
if err != nil {
return err
}
// The legacy generators allow override.
err = ra.AbsorbAll(resMap)
if err != nil {
return errors.Wrapf(err, "merging from generator %v", g)
}
}
generators, err = kt.configureExternalGenerators()
generators = append(generators, gs...)
gs, err = kt.configureExternalGenerators()
if err != nil {
return errors.Wrap(err, "loading generator plugins")
}
generators = append(generators, gs...)
for _, g := range generators {
resMap, err := g.Generate()
if err != nil {
return err
}
err = ra.AppendAll(resMap)
err = ra.AbsorbAll(resMap)
if err != nil {
return errors.Wrapf(err, "merging from generator %v", g)
}