// +build ignore package main import ( "fmt" "io/ioutil" "os" "path/filepath" ) func main() { wd, err := os.Getwd() if err != nil { panic(err) } if err := generateFile(wd, "rules.toml", "rules"); err != nil { panic(err) } if err := generateFile(wd, "roles.toml", "roles"); err != nil { panic(err) } } func generateFile(wd string, file string, target string) error { src, err := ioutil.ReadFile(file) if err != nil { panic(err) } out, err := os.Create(filepath.Join(wd, target+".go")) if err != nil { return err } out.Write([]byte("// This file is autogenerated; DO NOT EDIT DIRECTLY\n// See maintainers/generate.go for more info\npackage main\n\nconst (\n")) out.Write([]byte(fmt.Sprintf("%s = %q", target, string(src)))) out.Write([]byte("\n)\n")) return nil }