Skip to content

Commit dc57de7

Browse files
committed
Render output to file or stdout
1 parent d6aeb52 commit dc57de7

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

reference-gen/pkg/generator/generator.go

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,9 @@ func (g *generator) renderOutput(typesToRender map[*types.Type][]*types.Type) er
135135
return fmt.Errorf("error executing template: %v", err)
136136
}
137137

138-
klog.Infof(b.String())
138+
if err := g.writeOutput(b.Bytes()); err != nil {
139+
return fmt.Errorf("error writing output: %v", err)
140+
}
139141
return nil
140142
}
141143

@@ -164,3 +166,21 @@ func (g *generator) buildTemplate(typesToRender map[*types.Type][]*types.Type, t
164166

165167
return t, nil
166168
}
169+
170+
func (g *generator) writeOutput(content []byte) error {
171+
if g.outputFileName == "" {
172+
_, err := os.Stdout.Write(content)
173+
if err != nil {
174+
return fmt.Errorf("error writing output to stdout: %v", err)
175+
}
176+
klog.Infof("Rendered output written to stdout")
177+
return nil
178+
}
179+
180+
if err := ioutil.WriteFile(g.outputFileName, content, 0600); err != nil {
181+
return fmt.Errorf("could not write file %q: %v", g.outputFileName, err)
182+
}
183+
klog.Infof("Rendered output written to %q", g.outputFileName)
184+
185+
return nil
186+
}

0 commit comments

Comments
 (0)