aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-12-05 14:04:17 -0500
committerRuss Cox <rsc@golang.org>2014-12-05 14:04:17 -0500
commit75c8a78e61617f845c95abb01d7680aae60069ad (patch)
tree1d88f80c9caecc295672d5ce5cff77d8920a796c
parentf42f5263adf97d226dbe7d993928522e392eb349 (diff)
downloadgo-75c8a78e61617f845c95abb01d7680aae60069ad.tar.gz
go-75c8a78e61617f845c95abb01d7680aae60069ad.zip
[release-branch.go1.4] cmd/api: make API check fail for undeclared API in release branch
We forgot to do the usual API review. Make that not possible in the future. I'll pull this change over to the main branch too, but it's more important (and only testable) here. LGTM=bradfitz R=bradfitz CC=golang-codereviews https://golang.org/cl/185050043
-rw-r--r--src/cmd/api/goapi.go14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/cmd/api/goapi.go b/src/cmd/api/goapi.go
index 5a8c876033..4a63eac713 100644
--- a/src/cmd/api/goapi.go
+++ b/src/cmd/api/goapi.go
@@ -283,7 +283,7 @@ func compareAPI(w io.Writer, features, required, optional, exception []string) (
delete(optionalSet, newFeature)
} else {
fmt.Fprintf(w, "+%s\n", newFeature)
- if !*allowNew {
+ if !*allowNew || !strings.Contains(runtime.Version(), "devel") {
ok = false // we're in lock-down mode for next release
}
}
@@ -313,11 +313,15 @@ func fileFeatures(filename string) []string {
if err != nil {
log.Fatalf("Error reading file %s: %v", filename, err)
}
- text := strings.TrimSpace(string(bs))
- if text == "" {
- return nil
+ lines := strings.Split(string(bs), "\n")
+ var nonblank []string
+ for _, line := range lines {
+ line = strings.TrimSpace(line)
+ if line != "" && !strings.HasPrefix(line, "#") {
+ nonblank = append(nonblank, line)
+ }
}
- return strings.Split(text, "\n")
+ return nonblank
}
var fset = token.NewFileSet()