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

@@ -23,7 +23,7 @@ type PrefixSuffixTransformerPlugin struct {
//noinspection GoUnusedGlobalVariable
func NewPrefixSuffixTransformerPlugin() *PrefixSuffixTransformerPlugin {
return &PrefixSuffixTransformerPlugin{}
return &PrefixSuffixTransformerPlugin{}
}
// Not placed in a file yet due to lack of demand.
@@ -56,21 +56,23 @@ func (p *PrefixSuffixTransformerPlugin) Transform(m resmap.ResMap) error {
if p.shouldSkip(r.OrgId()) {
continue
}
fs, ok := p.shouldInclude(r.OrgId())
if !ok {
continue
}
if smellsLikeANameChange(fs) {
r.AddNamePrefix(p.Prefix)
r.AddNameSuffix(p.Suffix)
}
err := transformers.MutateField(
r.Map(),
fs.PathSlice(),
fs.CreateIfNotPresent,
p.addPrefixSuffix)
if err != nil {
return err
id := r.OrgId()
for _, path := range p.FieldSpecs {
if !id.IsSelected(&path.Gvk) {
continue
}
if smellsLikeANameChange(&path) {
r.AddNamePrefix(p.Prefix)
r.AddNameSuffix(p.Suffix)
}
err := transformers.MutateField(
r.Map(),
path.PathSlice(),
path.CreateIfNotPresent,
p.addPrefixSuffix)
if err != nil {
return err
}
}
}
return nil
@@ -80,16 +82,6 @@ func smellsLikeANameChange(fs *config.FieldSpec) bool {
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(
id resid.ResId) bool {
for _, path := range prefixSuffixFieldSpecsToSkip {

View File

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