cmd/genbootstrap: assign usage to flag.Usage
Assigning usage to flag.Usage makes it get picked up by flag.Parse
when the -help flag is specified.
This makes the usage printing more consistent and helpful.
Before:
$ ./genbootstrap -help
Usage of ./genbootstrap:
-skip_build
skip bootstrap.bash step; useful during development of cleaning code
$ ./genbootstrap
2018/10/10 13:34:01 Usage: genbootstrap GOOS/GOARCH
After:
$ ./genbootstrap -help
Usage: genbootstrap GOOS/GOARCH
-skip_build
skip bootstrap.bash step; useful during development of cleaning code
$ ./genbootstrap
Usage: genbootstrap GOOS/GOARCH
-skip_build
skip bootstrap.bash step; useful during development of cleaning code
Change-Id: Ia5553bf452d85842eed926aca5a7fc36dc7cdf47
Reviewed-on: https://go-review.googlesource.com/c/141177
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/cmd/genbootstrap/genbootstrap.go b/cmd/genbootstrap/genbootstrap.go
index 7fa742b..65b73c0 100644
--- a/cmd/genbootstrap/genbootstrap.go
+++ b/cmd/genbootstrap/genbootstrap.go
@@ -14,6 +14,7 @@
import (
"flag"
+ "fmt"
"log"
"os"
"os/exec"
@@ -24,17 +25,21 @@
var skipBuild = flag.Bool("skip_build", false, "skip bootstrap.bash step; useful during development of cleaning code")
func usage() {
- log.Fatalf("Usage: genbootstrap GOOS/GOARCH")
+ fmt.Fprintln(os.Stderr, "Usage: genbootstrap GOOS/GOARCH")
+ flag.PrintDefaults()
}
func main() {
+ flag.Usage = usage
flag.Parse()
if flag.NArg() != 1 {
- usage()
+ flag.Usage()
+ os.Exit(2)
}
f := strings.Split(flag.Arg(0), "/")
if len(f) != 2 {
- usage()
+ flag.Usage()
+ os.Exit(2)
}
goos, goarch := f[0], f[1]
if os.Getenv("GOROOT") == "" {