github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/cmd/imagetool/mergeTriggers.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 7 json "github.com/Cloud-Foundations/Dominator/lib/json" 8 "github.com/Cloud-Foundations/Dominator/lib/log" 9 "github.com/Cloud-Foundations/Dominator/lib/triggers" 10 ) 11 12 func mergeTriggersSubcommand(args []string, logger log.DebugLogger) error { 13 if err := mergeTriggers(args); err != nil { 14 return fmt.Errorf("Error merging triggers: %s", err) 15 } 16 return nil 17 } 18 19 func mergeTriggers(triggerFiles []string) error { 20 mergeableTriggers := &triggers.MergeableTriggers{} 21 for _, triggerFile := range triggerFiles { 22 trig, err := triggers.Load(triggerFile) 23 if err != nil { 24 return err 25 } 26 mergeableTriggers.Merge(trig) 27 } 28 trig := mergeableTriggers.ExportTriggers() 29 return json.WriteWithIndent(os.Stdout, " ", trig.Triggers) 30 }