in dev/import-beats/packages.go [434:465]
func writeDoc(docsPath string, doc docContent, aPackage packageContent) error {
log.Printf("write '%s' file\n", doc.fileName)
docFilePath := filepath.Join(docsPath, doc.fileName)
f, err := os.OpenFile(docFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
defer f.Close()
if err != nil {
return errors.Wrapf(err, "opening doc file failed (path: %s)", docFilePath)
}
t := template.New(doc.fileName)
if doc.templatePath == "" {
t = template.Must(t.Parse("TODO"))
} else {
t, err = t.Funcs(template.FuncMap{
"event": func(dataStream string) (string, error) {
return "TODO", nil
},
"fields": func(dataStream string) (string, error) {
return renderExportedFields(dataStream, aPackage.dataStreams)
},
}).ParseFiles(doc.templatePath)
if err != nil {
return errors.Wrapf(err, "parsing doc template failed (path: %s)", doc.templatePath)
}
}
err = t.Execute(f, nil)
if err != nil {
return errors.Wrapf(err, "rendering doc file failed (path: %s)", docFilePath)
}
return nil
}