diff options
Diffstat (limited to 'src/cmd/api/goapi.go')
| -rw-r--r-- | src/cmd/api/goapi.go | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/cmd/api/goapi.go b/src/cmd/api/goapi.go index 1782b73ceb..7363f6d824 100644 --- a/src/cmd/api/goapi.go +++ b/src/cmd/api/goapi.go @@ -131,7 +131,7 @@ func main() { if err != nil { log.Fatalf("Error reading file %s: %v", *checkFile, err) } - v1 := strings.Split(string(bs), "\n") + v1 := strings.Split(strings.TrimSpace(string(bs)), "\n") sort.Strings(v1) v2 := features take := func(sl *[]string) string { @@ -139,17 +139,24 @@ func main() { *sl = (*sl)[1:] return s } + changes := false for len(v1) > 0 || len(v2) > 0 { switch { case len(v2) == 0 || v1[0] < v2[0]: fmt.Fprintf(bw, "-%s\n", take(&v1)) + changes = true case len(v1) == 0 || v1[0] > v2[0]: fmt.Fprintf(bw, "+%s\n", take(&v2)) + changes = true default: take(&v1) take(&v2) } } + if changes { + bw.Flush() + os.Exit(1) + } } else { for _, f := range features { fmt.Fprintf(bw, "%s\n", f) @@ -284,7 +291,9 @@ func (w *Walker) WalkPackage(name string) { } } - log.Printf("package %s", name) + if *verbose { + log.Printf("package %s", name) + } pop := w.pushScope("pkg " + name) defer pop() |
