Iterate over fieldspecs for name tranformations

This commit is contained in:
Arnaud Delobelle
2019-06-21 21:08:59 +01:00
parent 42ef4fbcc1
commit 93db0ef3e9
2 changed files with 35 additions and 51 deletions

View File

@@ -56,23 +56,25 @@ func (p *PrefixSuffixTransformerPlugin) Transform(m resmap.ResMap) error {
if p.shouldSkip(r.OrgId()) { if p.shouldSkip(r.OrgId()) {
continue continue
} }
fs, ok := p.shouldInclude(r.OrgId()) id := r.OrgId()
if !ok { for _, path := range p.FieldSpecs {
if !id.IsSelected(&path.Gvk) {
continue continue
} }
if smellsLikeANameChange(fs) { if smellsLikeANameChange(&path) {
r.AddNamePrefix(p.Prefix) r.AddNamePrefix(p.Prefix)
r.AddNameSuffix(p.Suffix) r.AddNameSuffix(p.Suffix)
} }
err := transformers.MutateField( err := transformers.MutateField(
r.Map(), r.Map(),
fs.PathSlice(), path.PathSlice(),
fs.CreateIfNotPresent, path.CreateIfNotPresent,
p.addPrefixSuffix) p.addPrefixSuffix)
if err != nil { if err != nil {
return err return err
} }
} }
}
return nil return nil
} }
@@ -80,16 +82,6 @@ func smellsLikeANameChange(fs *config.FieldSpec) bool {
return fs.Path == "metadata/name" return fs.Path == "metadata/name"
} }
func (p *PrefixSuffixTransformerPlugin) shouldInclude(
id resid.ResId) (*config.FieldSpec, bool) {
for _, path := range p.FieldSpecs {
if id.IsSelected(&path.Gvk) {
return &path, true
}
}
return nil, false
}
func (p *PrefixSuffixTransformerPlugin) shouldSkip( func (p *PrefixSuffixTransformerPlugin) shouldSkip(
id resid.ResId) bool { id resid.ResId) bool {
for _, path := range prefixSuffixFieldSpecsToSkip { for _, path := range prefixSuffixFieldSpecsToSkip {

View File

@@ -57,23 +57,25 @@ func (p *plugin) Transform(m resmap.ResMap) error {
if p.shouldSkip(r.OrgId()) { if p.shouldSkip(r.OrgId()) {
continue continue
} }
fs, ok := p.shouldInclude(r.OrgId()) id := r.OrgId()
if !ok { for _, path := range p.FieldSpecs {
if !id.IsSelected(&path.Gvk) {
continue continue
} }
if smellsLikeANameChange(fs) { if smellsLikeANameChange(&path) {
r.AddNamePrefix(p.Prefix) r.AddNamePrefix(p.Prefix)
r.AddNameSuffix(p.Suffix) r.AddNameSuffix(p.Suffix)
} }
err := transformers.MutateField( err := transformers.MutateField(
r.Map(), r.Map(),
fs.PathSlice(), path.PathSlice(),
fs.CreateIfNotPresent, path.CreateIfNotPresent,
p.addPrefixSuffix) p.addPrefixSuffix)
if err != nil { if err != nil {
return err return err
} }
} }
}
return nil return nil
} }
@@ -81,16 +83,6 @@ func smellsLikeANameChange(fs *config.FieldSpec) bool {
return fs.Path == "metadata/name" return fs.Path == "metadata/name"
} }
func (p *plugin) shouldInclude(
id resid.ResId) (*config.FieldSpec, bool) {
for _, path := range p.FieldSpecs {
if id.IsSelected(&path.Gvk) {
return &path, true
}
}
return nil, false
}
func (p *plugin) shouldSkip( func (p *plugin) shouldSkip(
id resid.ResId) bool { id resid.ResId) bool {
for _, path := range prefixSuffixFieldSpecsToSkip { for _, path := range prefixSuffixFieldSpecsToSkip {