submit-patchset/globalResetOptions.go

99 lines
3.4 KiB
Go

package main
import (
"os"
"path/filepath"
"go.wit.com/gui"
"go.wit.com/log"
)
func globalResetOptions(box *gui.Node) {
group2 := box.NewGroup("Global Destructive Options")
globalTestingOptions(group2)
buildOptions := group2.NewGrid("buildOptions", 2, 1)
buildOptions.NewLabel("start over")
me.deleteGoSrcPkgB = buildOptions.NewButton("rm ~/go/src & ~/go/pkg", func() {
for _, repo := range me.allrepos {
// status := repo.getStatus()
if repo.checkDirty() {
log.Warn("repo is dirty. commit your changes first", repo.String())
me.deleteGoSrcPkgB.SetLabel("rm ~/go/src (can't. dirty repos)")
return
}
}
log.Warn("no repos have uncommited changes")
log.Warn("TODO: check things are pushed and check every dir in go/src/")
me.deleteGoSrcPkgB.SetLabel("ARE YOU SURE?")
if me.deleteGoSrcPkgB.String() == "ARE YOU SURE?" {
homeDir := me.userHomePwd.String()
fullpath := filepath.Join(homeDir, "go")
gosrc := filepath.Join(fullpath, "src")
gopkg := filepath.Join(fullpath, "pkg")
quickCmd(fullpath, []string{"rm", "-rf", gosrc})
quickCmd(fullpath, []string{"chmod", "700", "-R", gopkg})
quickCmd(fullpath, []string{"rm", "-rf", gopkg})
}
})
}
// things being testing
func globalTestingOptions(box *gui.Node) {
var listallB *gui.Node
listallB = box.NewButton("go.wit.com/list", func() {
listallB.Disable()
listWindow()
listallB.Enable()
})
me.autoRebuildButton = box.NewButton("rebuild autotypist", func() {
me.autoRebuildButton.Disable()
me.autoRebuildButton.SetLabel("running....")
attemptAutoRebuild()
me.autoRebuildButton.Enable()
me.autoRebuildButton.SetLabel("rebuild autotypist")
})
me.stopOnErrors = box.NewCheckbox("Stop on errors")
me.stopOnErrors.SetChecked(true)
me.autoDryRun = box.NewCheckbox("autotypist --dry-run")
me.autoDryRun.SetChecked(true)
}
func attemptAutoRebuild() {
os.Setenv("GO111MODULE", "off")
homeDir := me.userHomePwd.String()
fullpath := filepath.Join(homeDir, "go")
quickCmd(fullpath, []string{"mkdir", "-p", "src/go.wit.com/apps/"})
fullpath = filepath.Join(homeDir, "go/src/go.wit.com/apps/")
quickCmd(fullpath, []string{"go", "get", "-v", "go.wit.com/apps/autotypist"})
quickCmd(fullpath, []string{"go", "get", "-v", "go.wit.com/toolkits/debian"})
quickCmd(fullpath, []string{"go", "get", "-v", "go.wit.com/toolkits/tree"})
quickCmd(fullpath, []string{"go", "get", "-v", "go.wit.com/toolkits/nocui"})
quickCmd(fullpath, []string{"go", "get", "-v", "go.wit.com/toolkits/gocui"})
quickCmd(fullpath, []string{"go", "get", "-v", "go.wit.com/toolkits/andlabs"})
fullpath = filepath.Join(homeDir, "go/src/go.wit.com/toolkits/nocui/")
quickCmd(fullpath, []string{"go", "get", "-v", "-u", "."})
quickCmd(fullpath, []string{"go", "build", "-v", "-x", "-buildmode=plugin", "-o", "../nocui.so"})
fullpath = filepath.Join(homeDir, "go/src/go.wit.com/toolkits/gocui/")
quickCmd(fullpath, []string{"go", "get", "-v", "-u", "."})
quickCmd(fullpath, []string{"go", "build", "-v", "-x", "-buildmode=plugin", "-o", "../gocui.so"})
fullpath = filepath.Join(homeDir, "go/src/go.wit.com/toolkits/andlabs/")
quickCmd(fullpath, []string{"go", "get", "-v", "-u", "."})
quickCmd(fullpath, []string{"go", "build", "-v", "-x", "-buildmode=plugin", "-o", "../andlabs.so"})
fullpath = filepath.Join(homeDir, "go/src/go.wit.com/apps/autotypist")
quickCmd(fullpath, []string{"go", "get", "-v", "-u", "."})
quickCmd(fullpath, []string{"go", "build", "-v", "-x"})
}