diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2017-06-13 15:55:31 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2017-06-13 15:55:31 +0200 |
| commit | 3751542e1e442c798e456f11d49e48710d90a0eb (patch) | |
| tree | 586bb66b2ed007d9d2c671ec1143060c10935dce /sysgen | |
| parent | b94b250a78e2149a922e506614f796cd27f2b70e (diff) | |
sys: check in generated files
We used to have all generated files checked in.
Later we removed them (now users are supposed to
run make to generate them). This causes several
problems:
- go get does not work as it tries to build everything
straight away (go get -d works, but users are confused)
- users don't run make and complain that build is broken
- users don't re-run make after updates and complain that
build is broken
- hard to integrate into other build system (even if they
support building Go, they don't support running sysgen
out-of-the-box)
Fixes #216
Diffstat (limited to 'sysgen')
| -rw-r--r-- | sysgen/sysgen.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sysgen/sysgen.go b/sysgen/sysgen.go index b30a04437..32616cae5 100644 --- a/sysgen/sysgen.go +++ b/sysgen/sysgen.go @@ -8,6 +8,7 @@ import ( "bytes" "flag" "fmt" + "go/format" "io" "io/ioutil" "os" @@ -810,7 +811,12 @@ func isIdentifier(s string) bool { return true } -func writeSource(file string, src []byte) { +func writeSource(file string, data []byte) { + src, err := format.Source(data) + if err != nil { + fmt.Printf("%s\n", data) + failf("failed to format output: %v", err) + } if oldSrc, err := ioutil.ReadFile(file); err == nil && bytes.Equal(src, oldSrc) { return } |
