1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
26 func generate() error {
27 outfn := "generated_config.go"
28 tmpfile, err := ioutil.TempFile(".", "."+outfn+".")
32 defer os.Remove(tmpfile.Name())
34 gofmt := exec.Command("gofmt", "-s")
35 gofmt.Stdout = tmpfile
36 gofmt.Stderr = os.Stderr
37 w, err := gofmt.StdinPipe()
43 // copyright header: same as this file
44 cmd := exec.Command("head", "-n", "4", "generate.go")
46 cmd.Stderr = os.Stderr
52 data, err := ioutil.ReadFile("config.default.yml")
56 _, err = fmt.Fprintf(w, "package config\nvar DefaultYAML = []byte(`%s`)", bytes.Replace(data, []byte{'`'}, []byte("`+\"`\"+`"), -1))
72 return os.Rename(tmpfile.Name(), outfn)