help the user build the plugins
This commit is contained in:
parent
1096571f39
commit
fc6b049b37
|
@ -0,0 +1,64 @@
|
|||
package fhelp
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"go.wit.com/lib/gui/shell"
|
||||
"go.wit.com/log"
|
||||
)
|
||||
|
||||
func BuildPlugin(pname string) bool {
|
||||
if CheckProtoc() {
|
||||
log.Info("You have the right tools for protobufs")
|
||||
} else {
|
||||
log.Info("You do not have the right tools for protobufs")
|
||||
}
|
||||
|
||||
log.Info("")
|
||||
log.Info("### Error ####")
|
||||
log.Info("The GUI golang plugins did not load for the", pname)
|
||||
log.Info("You will have to rebuild them")
|
||||
log.Info("go-clone go.wit.com/toolkits/<pick one>/")
|
||||
log.Info("TODO: try to rebuild them here")
|
||||
log.Info("TODO: falling back to STDIN interface")
|
||||
log.Info("### Error ####")
|
||||
log.Info("")
|
||||
log.Infof("To attempt to build the %s plugin, run:\n", pname)
|
||||
log.Info("forge --build go.wit.com/toolkits/gocui")
|
||||
log.Info("")
|
||||
if !questionUser() {
|
||||
return false
|
||||
}
|
||||
r := shell.RunRealtime([]string{"forge", "--build", "go.wit.com/toolkits/" + pname})
|
||||
if r.Error == nil {
|
||||
log.Info("build worked")
|
||||
log.Info("You must copy that file to ~/go/lib/go-gui/")
|
||||
return true
|
||||
} else {
|
||||
log.Info("build failed")
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func questionUser() bool {
|
||||
log.Info("Would you like to run that now?")
|
||||
fmt.Fprintf(os.Stdout, "(y)es or (n)o ? ")
|
||||
|
||||
scanner := bufio.NewScanner(os.Stdin)
|
||||
for scanner.Scan() {
|
||||
line := scanner.Text()
|
||||
line = strings.TrimSpace(line)
|
||||
line = strings.ToLower(line)
|
||||
switch line {
|
||||
case "y":
|
||||
return true
|
||||
case "n":
|
||||
return false
|
||||
default:
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
Loading…
Reference in New Issue