autotypist/globalResetOptions.go

125 lines
3.8 KiB
Go

package main
import (
"go.wit.com/log"
"go.wit.com/gui/gui"
)
func globalResetOptions(box *gui.Node) {
group2 := box.NewGroup("Global Destructive Options")
buildOptions := group2.NewGrid("buildOptions",2, 1)
buildOptions.NewLabel("global path reset")
// to globally reset paths:
// gofmt -w -r "go.wit.com/gui -> go.wit.com/gui/gui" .
buildOptions.NewButton("Find", func () {
log.Warn("delete every repo marked PERFECT")
var newCmds [][]string
for _, repo := range allrepos {
status := repo.getStatus()
if status == "PERFECT" {
var line []string
line = append(line, "rm", "-rf", "go/src/" + repo.path)
newCmds = append(newCmds, line)
}
}
me.script = newCmds
doit.Enable()
setGitCommands()
})
buildOptions.NewLabel("delete PERFECT")
buildOptions.NewButton("Find", func () {
log.Warn("delete every repo marked PERFECT")
var newCmds [][]string
for _, repo := range allrepos {
status := repo.getStatus()
if status == "PERFECT" {
var line []string
line = append(line, "rm", "-rf", "go/src/" + repo.path)
newCmds = append(newCmds, line)
}
}
me.script = newCmds
doit.Enable()
setGitCommands()
})
buildOptions.NewLabel("start over")
buildOptions.NewButton("rm ~/go/src & ~/go/pkg", func () {
var newCmds [][]string
var dirty bool = false
for _, repo := range allrepos {
status := repo.getStatus()
if status == "dirty" {
dirty = true
break
}
}
newCmds = append(newCmds, []string{"cd", "."})
newCmds = append(newCmds, []string{"rm", "-rf", "go/src/"})
newCmds = append(newCmds, []string{"chmod", "700", "-R", "go/pkg/"})
newCmds = append(newCmds, []string{"rm", "-rf", "go/pkg/"})
if dirty {
newCmds = append(newCmds, []string{"can't do this with dirty repos"})
doit.Disable()
} else {
doit.Enable()
}
me.script = newCmds
setGitCommands()
})
buildOptions.NewLabel("rebuild autotypist")
buildOptions.NewButton("go get", func () {
var newCmds [][]string
newCmds = append(newCmds, []string{"cd", "."})
newCmds = append(newCmds, []string{"mkdir", "-p", "go/src/go.wit.com/apps/"})
newCmds = append(newCmds, []string{"cd", "go/src/go.wit.com/apps/"})
newCmds = append(newCmds, []string{"go", "get", "-v", "-u", "go.wit.com/apps/myrepos"})
newCmds = append(newCmds, []string{"cd", "go/src/go.wit.com/apps/myrepos"})
newCmds = append(newCmds, []string{"go", "get", "-v", "-u", "."})
newCmds = append(newCmds, []string{"go", "get", "-v", "go.wit.com/gui/toolkits"})
newCmds = append(newCmds, []string{"cd", "go/src/go.wit.com/gui/toolkits/andlabs"})
newCmds = append(newCmds, []string{"go", "get", "-v", "-u", "."})
newCmds = append(newCmds, []string{"cd", "go/src/go.wit.com/gui/toolkits/gocui"})
newCmds = append(newCmds, []string{"go", "get", "-v", "-u", "."})
newCmds = append(newCmds, []string{"cd", "go/src/go.wit.com/gui/toolkits"})
newCmds = append(newCmds, []string{"make"})
newCmds = append(newCmds, []string{"cd", "go/src/go.wit.com/apps/myrepos"})
newCmds = append(newCmds, []string{"make"})
me.script = newCmds
setGitCommands()
doit.Enable()
})
buildOptions.NewSeparator("endStatusScans")
buildOptions.NewSeparator("endStatusScans")
buildOptions.NewLabel("cmd")
cmds = buildOptions.NewLabel("ls")
buildOptions.NewLabel("--dry-run")
dryrun = buildOptions.NewButton("show commands", func () {
if goMake("--dry-run") {
log.Warn("EVERYTHING MIGHT HAVE WORKED")
} else {
log.Warn("EVERYTHING WILL NOT WORK")
dryrun.Disable()
}
})
buildOptions.NewLabel("Doit")
doit = buildOptions.NewButton("run commands", func () {
doit.Disable()
log.Warn("should run the commands here")
// true here means dryrun == true. it's confusingly named
if goMake("--doit") {
log.Warn("EVERYTHING WORKED")
} else {
log.Warn("EVERYTHING DID NOT WORK")
}
})
}