From 02583e09590bf00b218beb539f2bf64564f28cbd Mon Sep 17 00:00:00 2001 From: ruflin Date: Tue, 24 Mar 2020 13:20:24 +0100 Subject: [PATCH] Add stream fields to each dataset During the generation of the datasets, a stream.yml file is created with the stream fields inside. These are required for each dataset. --- dev/generator/main.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/dev/generator/main.go b/dev/generator/main.go index da7e05567..b35005dcb 100644 --- a/dev/generator/main.go +++ b/dev/generator/main.go @@ -11,6 +11,7 @@ import ( "io/ioutil" "log" "os" + "path" "path/filepath" "github.com/magefile/mage/sh" @@ -25,6 +26,20 @@ var ( const ( packageDirName = "package" + streamFields = ` +- name: stream.type + type: constant_keyword + description: > + Stream type +- name: stream.dataset + type: constant_keyword + description: > + Stream dataset. +- name: stream.namespace + type: constant_keyword + description: > + Stream namespace. +` ) func main() { @@ -122,6 +137,25 @@ func buildPackage(packagesBasePath string, p util.Package) error { p.BasePath = filepath.Join(currentPath, packagesBasePath, p.GetPath()) + datasets, err := p.GetDatasets() + if err != nil { + return err + } + + // Add stream.yml to all dataset with the basic stream fields + for _, dataset := range datasets { + dirPath := path.Join(p.BasePath, "dataset", dataset, "fields") + err := os.MkdirAll(dirPath, 0755) + if err != nil { + return err + } + + err = ioutil.WriteFile(path.Join(dirPath, "stream.yml"), []byte(streamFields), 0644) + if err != nil { + return err + } + } + err = p.LoadAssets(p.GetPath()) if err != nil { return err