@@ -68,25 +68,27 @@ cloud:
6868 varSliceFlag , err := cmd .Flags ().GetStringSlice ("var" )
6969
7070 if err != nil {
71- panic (err )
71+ lwCliInst . Die (err )
7272 }
7373
7474 _ , err = os .Stat (planFile )
7575 if err != nil {
7676 if os .IsNotExist (err ) {
77- fmt .Printf ("Plan file \" %s\" does not exist.\n " , planFile )
78- os .Exit (1 )
77+ lwCliInst .Die (fmt .Errorf ("Plan file \" %s\" does not exist.\n " , planFile ))
7978 } else {
80- panic (err )
79+ lwCliInst . Die (err )
8180 }
8281 }
8382
8483 planYaml , err := ioutil .ReadFile (planFile )
8584 if err != nil {
86- panic (err )
85+ lwCliInst . Die (err )
8786 }
8887
89- planYaml = processTemplate (varSliceFlag , planYaml )
88+ planYaml , err = processTemplate (varSliceFlag , planYaml )
89+ if err != nil {
90+ lwCliInst .Die (err )
91+ }
9092
9193 var plan instance.Plan
9294 err = yaml .Unmarshal (planYaml , & plan )
9597 }
9698
9799 if err := lwCliInst .ProcessPlan (& plan ); err != nil {
98- panic (err )
100+ lwCliInst . Die (err )
99101 }
100102 },
101103}
@@ -121,7 +123,7 @@ func varsToMap(vars []string) map[string]string {
121123 return varMap
122124}
123125
124- func processTemplate (varSliceFlag []string , planYaml []byte ) []byte {
126+ func processTemplate (varSliceFlag []string , planYaml []byte ) ( []byte , error ) {
125127 type TemplateVars struct {
126128 Var map [string ]string
127129 Env map [string ]string
@@ -135,14 +137,14 @@ func processTemplate(varSliceFlag []string, planYaml []byte) []byte {
135137 var tmplBytes bytes.Buffer
136138 tmpl , err := template .New ("plan.yaml" ).Parse (string (planYaml ))
137139 if err != nil {
138- panic ( err )
140+ return nil , err
139141 }
140142 err = tmpl .Execute (& tmplBytes , tmplVars )
141143 if err != nil {
142- panic ( err )
144+ return nil , err
143145 }
144146
145- return tmplBytes .Bytes ()
147+ return tmplBytes .Bytes (), nil
146148}
147149
148150func init () {
0 commit comments