github.com/Cloud-Foundations/Dominator@v0.3.4/lib/image/replace.go (about) 1 package image 2 3 func (annotation *Annotation) registerStrings(registerFunc func(string)) { 4 if annotation != nil { 5 registerFunc(annotation.URL) 6 } 7 } 8 9 func (annotation *Annotation) replaceStrings(replaceFunc func(string) string) { 10 if annotation != nil { 11 annotation.URL = replaceFunc(annotation.URL) 12 } 13 } 14 15 func (image *Image) registerStrings(registerFunc func(string)) { 16 registerFunc(image.CreatedBy) 17 image.Filter.RegisterStrings(registerFunc) 18 image.FileSystem.RegisterStrings(registerFunc) 19 image.Triggers.RegisterStrings(registerFunc) 20 image.ReleaseNotes.registerStrings(registerFunc) 21 image.BuildLog.registerStrings(registerFunc) 22 for index := range image.Packages { 23 pkg := &image.Packages[index] 24 pkg.registerStrings(registerFunc) 25 } 26 for key, value := range image.Tags { 27 registerFunc(key) 28 registerFunc(value) 29 } 30 } 31 32 func (image *Image) replaceStrings(replaceFunc func(string) string) { 33 image.CreatedBy = replaceFunc(image.CreatedBy) 34 image.Filter.ReplaceStrings(replaceFunc) 35 image.FileSystem.ReplaceStrings(replaceFunc) 36 image.Triggers.ReplaceStrings(replaceFunc) 37 image.ReleaseNotes.replaceStrings(replaceFunc) 38 image.BuildLog.replaceStrings(replaceFunc) 39 for index := range image.Packages { 40 pkg := &image.Packages[index] 41 pkg.replaceStrings(replaceFunc) 42 } 43 for key, value := range image.Tags { 44 image.Tags[key] = replaceFunc(value) 45 } 46 } 47 48 func (pkg *Package) registerStrings(registerFunc func(string)) { 49 registerFunc(pkg.Name) 50 registerFunc(pkg.Version) 51 } 52 53 func (pkg *Package) replaceStrings(replaceFunc func(string) string) { 54 pkg.Name = replaceFunc(pkg.Name) 55 pkg.Version = replaceFunc(pkg.Version) 56 }