1
0
mirror of https://github.com/golang/go synced 2024-11-18 11:55:01 -07:00

cmd/api: treat a hex-y VERSION as devel and permit API changes

Change-Id: I2b05b7ff217586851ab41744e3077fddc480253c
Reviewed-on: https://go-review.googlesource.com/1405
Reviewed-by: David Symonds <dsymonds@golang.org>
This commit is contained in:
Brad Fitzpatrick 2014-12-12 17:02:33 +11:00
parent 082a2374fb
commit 11d1c05fee

View File

@ -107,12 +107,22 @@ func setContexts() {
}
}
var internalPkg = regexp.MustCompile(`(^|/)internal($|/)`)
var (
internalPkg = regexp.MustCompile(`(^|/)internal($|/)`)
hashRx = regexp.MustCompile(`^[0-9a-f]{7,40}$`)
)
func isDevelVersion(v string) bool {
if strings.Contains(v, "devel") {
return true
}
return hashRx.MatchString(v)
}
func main() {
flag.Parse()
if !strings.Contains(runtime.Version(), "weekly") && !strings.Contains(runtime.Version(), "devel") {
if v := runtime.Version(); !strings.Contains(v, "weekly") && !isDevelVersion(v) {
if *nextFile != "" {
fmt.Printf("Go version is %q, ignoring -next %s\n", runtime.Version(), *nextFile)
*nextFile = ""
@ -283,7 +293,7 @@ func compareAPI(w io.Writer, features, required, optional, exception []string) (
delete(optionalSet, newFeature)
} else {
fmt.Fprintf(w, "+%s\n", newFeature)
if !*allowNew || !strings.Contains(runtime.Version(), "devel") {
if !*allowNew || !isDevelVersion(runtime.Version()) {
ok = false // we're in lock-down mode for next release
}
}