2024-01-13 23:27:46 -06:00
|
|
|
package main
|
|
|
|
|
2024-01-18 00:58:14 -06:00
|
|
|
import (
|
2024-01-18 05:03:04 -06:00
|
|
|
"go.wit.com/gui"
|
2024-01-18 00:58:14 -06:00
|
|
|
"go.wit.com/lib/gadgets"
|
|
|
|
"go.wit.com/lib/gui/repostatus"
|
2024-01-13 23:27:46 -06:00
|
|
|
)
|
|
|
|
|
2024-01-23 11:22:33 -06:00
|
|
|
var me *autoType
|
2024-01-16 04:46:17 -06:00
|
|
|
|
2024-02-13 16:18:37 -06:00
|
|
|
func (b *autoType) Disable() {
|
|
|
|
b.mainbox.Disable()
|
|
|
|
}
|
|
|
|
|
|
|
|
func (b *autoType) Enable() {
|
|
|
|
b.mainbox.Enable()
|
|
|
|
}
|
|
|
|
|
2024-02-11 20:24:40 -06:00
|
|
|
// this app's variables
|
2024-01-23 11:22:33 -06:00
|
|
|
type autoType struct {
|
2024-01-24 22:22:34 -06:00
|
|
|
allrepos map[string]*repo
|
2024-01-18 05:03:04 -06:00
|
|
|
myGui *gui.Node
|
2024-01-16 11:56:55 -06:00
|
|
|
|
2024-02-06 04:03:17 -06:00
|
|
|
autotypistWindow *gui.Node
|
2024-02-13 16:18:37 -06:00
|
|
|
// the main box. enable/disable this
|
|
|
|
mainbox *gui.Node
|
2024-01-20 18:45:55 -06:00
|
|
|
|
2024-02-13 09:18:04 -06:00
|
|
|
// the window from the /lib/gui/gowit package
|
|
|
|
lw *gadgets.BasicWindow
|
|
|
|
|
2024-02-12 15:24:35 -06:00
|
|
|
reposwin *gadgets.BasicWindow
|
|
|
|
reposbox *gui.Node
|
|
|
|
reposgrid *gui.Node
|
2024-02-11 20:24:40 -06:00
|
|
|
reposgroup *gui.Node
|
|
|
|
|
2024-01-16 11:56:55 -06:00
|
|
|
// #### autotypist Global Display Options
|
2024-01-25 13:09:33 -06:00
|
|
|
autoHidePerfect *gui.Node
|
|
|
|
autoHideReadOnly *gui.Node
|
2024-01-16 04:46:17 -06:00
|
|
|
|
2024-01-16 11:56:55 -06:00
|
|
|
// #### 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
|
|
|
|
|
2024-01-18 05:03:04 -06:00
|
|
|
// this button will regenerate everyones go.mod & go.sum
|
|
|
|
rerunGoMod *gui.Node
|
2024-01-20 18:45:55 -06:00
|
|
|
|
|
|
|
// if checked, will stop trying to os.Exec() things after failure
|
|
|
|
stopOnErrors *gui.Node
|
2024-01-21 03:22:51 -06:00
|
|
|
|
2024-01-23 11:22:33 -06:00
|
|
|
// button to attempt to autorebuild
|
|
|
|
autoRebuildButton *gui.Node
|
|
|
|
|
|
|
|
// checkbox for --dry-run
|
|
|
|
autoDryRun *gui.Node
|
2024-01-26 02:04:19 -06:00
|
|
|
|
2024-02-16 17:55:53 -06:00
|
|
|
// checkbox to enable intermittent scanning
|
|
|
|
// if checked, it will check all your repos for changes
|
|
|
|
autoScanReposCB *gui.Node
|
2024-01-23 11:22:33 -06:00
|
|
|
|
2024-01-26 14:21:05 -06:00
|
|
|
// what is being used as your home dir
|
|
|
|
userHomePwd *gadgets.OneLiner
|
|
|
|
|
|
|
|
// what is being used as ~/go/src
|
|
|
|
goSrcPwd *gadgets.OneLiner
|
|
|
|
|
2024-01-23 11:22:33 -06:00
|
|
|
downloadEverythingButton *gui.Node
|
2024-01-25 11:35:40 -06:00
|
|
|
|
|
|
|
// delete ~/go/src & ~/go/pkg buttons
|
|
|
|
deleteGoSrcPkgB *gui.Node
|
2024-02-13 12:54:32 -06:00
|
|
|
|
|
|
|
// displays a summary of all the repos
|
|
|
|
// has total dirty, total read-only
|
|
|
|
// total patches, etc
|
2024-02-13 13:50:19 -06:00
|
|
|
summary *patchSummary
|
2024-02-16 17:55:53 -06:00
|
|
|
|
|
|
|
// shows how long the scan went for
|
|
|
|
duration *gui.Node
|
|
|
|
|
|
|
|
// when switch to user or devel branches, autocreate them
|
|
|
|
autoCreateBranches *gui.Node
|
|
|
|
|
|
|
|
// these hold the branches that the user can switch all
|
|
|
|
// the repositories to them
|
|
|
|
newBranch *gui.Node
|
|
|
|
setBranchB *gui.Node
|
2024-01-16 04:46:17 -06:00
|
|
|
}
|
|
|
|
|
2024-01-13 23:27:46 -06:00
|
|
|
type repo struct {
|
2024-02-16 11:39:44 -06:00
|
|
|
hidden bool
|
2024-01-13 23:27:46 -06:00
|
|
|
lasttagrev string
|
2024-01-18 00:58:14 -06:00
|
|
|
lasttag string
|
2024-02-13 16:18:37 -06:00
|
|
|
giturl string
|
2024-01-13 23:27:46 -06:00
|
|
|
|
|
|
|
pLabel *gui.Node // path label
|
2024-01-30 18:50:00 -06:00
|
|
|
|
2024-01-24 22:22:34 -06:00
|
|
|
lastTag *gui.Node // last tagged version label
|
|
|
|
vLabel *gui.Node // version label
|
|
|
|
dirtyLabel *gui.Node // git state (dirty or not?)
|
2024-01-24 02:41:34 -06:00
|
|
|
goSumStatus *gui.Node // what is the state of the go.sum file
|
2024-01-13 23:27:46 -06:00
|
|
|
|
|
|
|
masterVersion *gui.Node // the master branch version
|
2024-01-30 18:50:00 -06:00
|
|
|
develVersion *gui.Node // the devel branch version
|
|
|
|
userVersion *gui.Node // the user branch version
|
2024-01-13 23:27:46 -06:00
|
|
|
|
2024-02-12 15:24:35 -06:00
|
|
|
endBox *gui.Node // a general box at the end of the row
|
2024-01-23 11:22:33 -06:00
|
|
|
statusButton *gui.Node // opens up the status window
|
2024-02-12 15:24:35 -06:00
|
|
|
diffButton *gui.Node // opens up the status window
|
2024-01-13 23:27:46 -06:00
|
|
|
|
|
|
|
status *repostatus.RepoStatus
|
|
|
|
}
|