in events/generate/events_generate.go [103:175]
func main() {
events := make(map[string]*eventData)
err := filepath.Walk(dataDir, func(path string, info os.FileInfo, err error) error {
if err != nil {
return fmt.Errorf("accessing path %q: %v", path, err)
}
if info.IsDir() {
return nil
}
data, err := ioutil.ReadFile(path)
if err != nil {
// A source file not existing is fine.
if os.IsNotExist(err) {
return nil
}
return fmt.Errorf("reading file %q: %v", path, err)
}
if data == nil {
return nil
}
name, t, c := breakdownFileName(info.Name())
if name == "" {
return nil
}
ed, ok := events[name]
if !ok {
ed = &eventData{}
events[name] = ed
}
d := "[]byte(`" + string(data) + "`)"
switch t {
case legacyType + input:
ed.LegacyInput = d
case legacyType + output:
if c {
ed.ConvertedLegacyOutput = d
} else {
ed.LegacyOutput = d
}
case cloudeventType + input:
ed.CloudEventInput = d
case cloudeventType + output:
if c {
ed.ConvertedCloudEventOutput = d
} else {
ed.CloudEventOutput = d
}
}
return nil
})
if err != nil {
log.Fatalf("walking %q: %v", dataDir, err)
}
f, err := os.Create(outputFile)
if err != nil {
log.Fatalf("creating event_data.go: %v", err)
}
defer f.Close()
if err := tmpl.Execute(f, events); err != nil {
log.Fatalf("executing template: %v", err)
}
return
}