docs/maintainers/generate.go

44 lines
802 B
Go

// +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
}