mirror of
https://github.com/octoleo/syncthing.git
synced 2024-09-19 05:09:01 +00:00
Check for supported go version build.go
This commit is contained in:
parent
408db4eb1d
commit
264400a984
23
build.go
23
build.go
@ -33,6 +33,8 @@ var (
|
|||||||
noupgrade bool
|
noupgrade bool
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const minGoVersion = 1.3
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
log.SetOutput(os.Stdout)
|
log.SetOutput(os.Stdout)
|
||||||
log.SetFlags(0)
|
log.SetFlags(0)
|
||||||
@ -53,6 +55,8 @@ func main() {
|
|||||||
flag.BoolVar(&noupgrade, "no-upgrade", false, "Disable upgrade functionality")
|
flag.BoolVar(&noupgrade, "no-upgrade", false, "Disable upgrade functionality")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
|
checkRequiredGoVersion()
|
||||||
|
|
||||||
if check() != nil {
|
if check() != nil {
|
||||||
setup()
|
setup()
|
||||||
}
|
}
|
||||||
@ -122,6 +126,25 @@ func check() error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func checkRequiredGoVersion() {
|
||||||
|
ver := run("go", "version")
|
||||||
|
re := regexp.MustCompile(`go version go(\d+\.\d+)`)
|
||||||
|
if m := re.FindSubmatch(ver); len(m) == 2 {
|
||||||
|
vs := string(m[1])
|
||||||
|
// This is a standard go build. Verify that it's new enough.
|
||||||
|
f, err := strconv.ParseFloat(vs, 64)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("*** Could parse Go version out of %q.\n*** This isn't known to work, proceed on your own risk.", vs)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if f < minGoVersion {
|
||||||
|
log.Fatalf("*** Go version %.01f is less than required %.01f.\n*** This is known not to work, not proceeding.", f, minGoVersion)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.Printf("*** Unknown Go version %q.\n*** This isn't known to work, proceed on your own risk.", ver)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func setup() {
|
func setup() {
|
||||||
runPrint("go", "get", "-v", "code.google.com/p/go.tools/cmd/cover")
|
runPrint("go", "get", "-v", "code.google.com/p/go.tools/cmd/cover")
|
||||||
runPrint("go", "get", "-v", "code.google.com/p/go.tools/cmd/vet")
|
runPrint("go", "get", "-v", "code.google.com/p/go.tools/cmd/vet")
|
||||||
|
Loading…
Reference in New Issue
Block a user