diff options
Diffstat (limited to 'human.go')
| -rw-r--r-- | human.go | 36 |
1 files changed, 32 insertions, 4 deletions
@@ -4,19 +4,44 @@ import ( "fmt" "os" "os/exec" + "runtime" "go.wit.com/log" ) func CheckProtoc() bool { - if checkCmdSimple("protoc") { + if !checkCmdSimple("protoc") { userInstructions() - log.Sleep(2) + switch runtime.GOOS { + case "linux": + linuxInstall("protoc") + case "macos": + log.Info("todo: print instructions here for installing protoc on macos. brew install?") + case "windows": + log.Info("todo: print instructions here for installing protoc on windows") + default: + log.Info("todo: print instructions here for installing protoc on", runtime.GOOS) + } + return false + } + if !checkCmdSimple("protoc") { return false } - if checkCmdSimple("protoc-gen-go") { + + if !checkCmdSimple("protoc-gen-go") { userInstructions() - log.Sleep(2) + switch runtime.GOOS { + case "linux": + linuxInstall("protoc-gen-go") + case "macos": + log.Info("todo: print instructions here for installing protoc on macos. brew install?") + case "windows": + log.Info("todo: print instructions here for installing protoc on windows") + default: + log.Info("todo: print instructions here for installing protoc on", runtime.GOOS) + } + } + if !checkCmdSimple("protoc-gen-go") { return false } return true @@ -43,6 +68,8 @@ func checkCmd(cmd string) (string, error) { return path, err } +/* + func oldcheckCmd(cmd string) { // path, err := exec.LookPath(cmd) _, err := exec.LookPath(cmd) @@ -54,6 +81,7 @@ func oldcheckCmd(cmd string) { // fmt.Printf("%s is available at %s\n", cmd, path) } } +*/ // todo: figure out how to determine, in a package, what the program name is func okExit(s string) { |
