97 lines
2.2 KiB
Go
97 lines
2.2 KiB
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"go.wit.com/gui"
|
||
|
"go.wit.com/lib/gadgets"
|
||
|
"go.wit.com/lib/gui/repolist"
|
||
|
"go.wit.com/lib/protobuf/forgepb"
|
||
|
"go.wit.com/lib/protobuf/zoopb"
|
||
|
)
|
||
|
|
||
|
var me *autoType
|
||
|
|
||
|
func (b *autoType) Disable() {
|
||
|
b.mainbox.Disable()
|
||
|
}
|
||
|
|
||
|
func (b *autoType) Enable() {
|
||
|
b.mainbox.Enable()
|
||
|
}
|
||
|
|
||
|
// this app's variables
|
||
|
type autoType struct {
|
||
|
// allrepos map[string]*repo
|
||
|
myGui *gui.Node
|
||
|
|
||
|
mainWindow *gui.Node
|
||
|
|
||
|
// the main box. enable/disable this
|
||
|
mainbox *gui.Node
|
||
|
|
||
|
// the window from the /lib/gui/gowit package
|
||
|
lw *gadgets.BasicWindow
|
||
|
|
||
|
// our view of the repositories
|
||
|
// repos *repoWindow
|
||
|
repoList *repolist.RepoList
|
||
|
|
||
|
// your customized repo preferences and settings
|
||
|
forge *forgepb.Forge
|
||
|
|
||
|
// where your ~/go/src is
|
||
|
goSrcPath string
|
||
|
|
||
|
// use zookeeper to get the list of installed packages
|
||
|
machine zoopb.Machine
|
||
|
|
||
|
// #### autotypist Global Display Options
|
||
|
autoHidePerfect *gui.Node
|
||
|
autoHideReadOnly *gui.Node
|
||
|
|
||
|
// #### autotypist Global Build Options
|
||
|
// what to change all the branches to
|
||
|
// so, as a developer, you can move all the repos
|
||
|
// to the 'devel' branch and then test a devel branch build
|
||
|
// then switch back to your 'username' branch and do a build there
|
||
|
toMoveToBranch string
|
||
|
|
||
|
// this button will regenerate everyones go.mod & go.sum
|
||
|
rerunGoMod *gui.Node
|
||
|
|
||
|
// if checked, will stop trying to os.Exec() things after failure
|
||
|
stopOnErrors *gui.Node
|
||
|
|
||
|
// button to attempt to autorebuild
|
||
|
autoRebuildButton *gui.Node
|
||
|
|
||
|
// checkbox for --dry-run
|
||
|
autoDryRun *gui.Node
|
||
|
|
||
|
// checkbox to enable intermittent scanning
|
||
|
// if checked, it will check all your repos for changes
|
||
|
autoScanReposCB *gui.Node
|
||
|
|
||
|
// what is being used as your home dir
|
||
|
userHomePwd *gadgets.OneLiner
|
||
|
|
||
|
// what is being used as ~/go/src
|
||
|
goSrcPwd *gadgets.OneLiner
|
||
|
|
||
|
downloadEverythingButton *gui.Node
|
||
|
|
||
|
// delete ~/go/src & ~/go/pkg buttons
|
||
|
deleteGoSrcPkgB *gui.Node
|
||
|
|
||
|
// displays a summary of all the repos
|
||
|
// has total dirty, total read-only
|
||
|
// total patches, etc
|
||
|
// summary *patchSummary
|
||
|
|
||
|
// when switch to user or devel branches, autocreate them
|
||
|
autoCreateBranches *gui.Node
|
||
|
|
||
|
// make a concept called a 'mode' that means which branches
|
||
|
// are you working from: "master"? "devel"? <username>?
|
||
|
newMode *gui.Node
|
||
|
}
|