diff options
Diffstat (limited to 'releaseBox.go')
| -rw-r--r-- | releaseBox.go | 151 |
1 files changed, 73 insertions, 78 deletions
diff --git a/releaseBox.go b/releaseBox.go index 9db31e1..b7fe76e 100644 --- a/releaseBox.go +++ b/releaseBox.go @@ -14,10 +14,8 @@ import ( "go.wit.com/lib/gui/repolist" ) -var release releaseStruct - type releaseStruct struct { - current *repolist.Repo + // current *repolist.Repo box *gui.Node group *gui.Node @@ -60,13 +58,13 @@ func (w *autoType) Enable() { func createReleaseBox(box *gui.Node) { initWhitelist() - // release.box = box - release.box = box.NewVerticalBox("vbox") - release.group = release.box.NewGroup("Current Repo") - release.grid = release.group.NewGrid("buildOptions", 0, 0) - release.grid.NextRow() + // me.release.box = box + me.release.box = box.NewVerticalBox("vbox") + me.release.group = me.release.box.NewGroup("Current Repo") + me.release.grid = me.release.group.NewGrid("buildOptions", 0, 0) + me.release.grid.NextRow() - release.releaseVersionB = release.grid.NewButton("release version", func() { + me.release.releaseVersionB = me.release.grid.NewButton("release version", func() { buttonDisable() if doRelease() { buttonEnable() @@ -75,34 +73,34 @@ func createReleaseBox(box *gui.Node) { log.Info("doRelease() failed") } }) - release.grid.NextRow() + me.release.grid.NextRow() - release.repo = gadgets.NewOneLiner(release.grid, "repo") - release.openrepo = release.grid.NewButton("Configure", func() { - release.current.Status.Toggle() + me.release.repo = gadgets.NewOneLiner(me.release.grid, "repo") + me.release.openrepo = me.release.grid.NewButton("Configure", func() { + me.current.Status.Toggle() }) - release.openrepo.Disable() - release.grid.NextRow() - release.status = gadgets.NewOneLiner(release.grid, "status") - release.grid.NextRow() - release.readOnly = gadgets.NewOneLiner(release.grid, "read-only") - release.grid.NextRow() - release.notes = gadgets.NewOneLiner(release.grid, "notes") - release.grid.NextRow() + me.release.openrepo.Disable() + me.release.grid.NextRow() + me.release.status = gadgets.NewOneLiner(me.release.grid, "status") + me.release.grid.NextRow() + me.release.readOnly = gadgets.NewOneLiner(me.release.grid, "read-only") + me.release.grid.NextRow() + me.release.notes = gadgets.NewOneLiner(me.release.grid, "notes") + me.release.grid.NextRow() - release.version = gadgets.NewOneLiner(release.grid, "version") - release.grid.NextRow() + me.release.version = gadgets.NewOneLiner(me.release.grid, "version") + me.release.grid.NextRow() - release.reason = gadgets.NewBasicEntry(release.grid, "release reason") - release.reason.SetText(me.releaseReasonS) - release.grid.NextRow() + me.release.reason = gadgets.NewBasicEntry(me.release.grid, "release reason") + me.release.reason.SetText(me.releaseReasonS) + me.release.grid.NextRow() - me.autoWorkingPwd = gadgets.NewOneLiner(release.grid, "working directory (pwd)") - release.grid.NextRow() - me.userHomePwd = gadgets.NewOneLiner(release.grid, "user home") - release.grid.NextRow() - me.goSrcPwd = gadgets.NewOneLiner(release.grid, "go src home") - release.grid.NextRow() + me.autoWorkingPwd = gadgets.NewOneLiner(me.release.grid, "working directory (pwd)") + me.release.grid.NextRow() + me.userHomePwd = gadgets.NewOneLiner(me.release.grid, "user home") + me.release.grid.NextRow() + me.goSrcPwd = gadgets.NewOneLiner(me.release.grid, "go src home") + me.release.grid.NextRow() homeDir, err := os.UserHomeDir() if err != nil { @@ -119,26 +117,37 @@ func createReleaseBox(box *gui.Node) { panic("redo go.sum") } - group := release.box.NewGroup("Run on Current Repo") + group := me.release.box.NewGroup("Run on Current Repo") grid := group.NewGrid("buildOptions", 0, 0) grid.NewButton("set to IGNORE", func() { - tmp := release.current.GoState() + tmp := me.current.GoState() log.Info("trying to set repo IGNORE is now =", tmp) - release.current.SetGoState("IGNORE") - release.whitelist[release.current.GoPath()] = release.current + me.current.SetGoState("IGNORE") + me.release.whitelist[me.current.GoPath()] = me.current }) - release.checkGoSumB = grid.NewButton("checkValidGoSum()", func() { + me.release.checkGoSumB = grid.NewButton("checkValidGoSum()", func() { buttonDisable() - checkValidGoSum(release.current) + checkValidGoSum(me.current) buttonEnable() }) + + grid.NewButton("Check Ready", func() { + buttonDisable() + defer buttonEnable() + if CheckReady() { + log.Info("repo is ready", me.current.Name()) + return + } else { + log.Info("\trepo is not ready", me.current.Name()) + } + }) grid.NextRow() - group = release.box.NewGroup("Process against all repos") + group = me.release.box.NewGroup("Process against all repos") grid = group.NewGrid("buildOptions", 0, 0) - grid.NewButton("release all", func() { + grid.NewButton("doRelease() all", func() { var worked bool = true buttonDisable() // rather than loop forever, at least limit this to the number of repos @@ -148,7 +157,7 @@ func createReleaseBox(box *gui.Node) { if doRelease() { log.Info("doRelease() worked") } else { - if release.status.String() == "ALL DONE?" { + if me.release.status.String() == "ALL DONE?" { log.Info("maybe ALL DONE?") buttonEnable() worked = true @@ -165,43 +174,22 @@ func createReleaseBox(box *gui.Node) { buttonEnable() }) - grid.NewButton("find first repo", func() { - // set the target versions - setTargetVersion() - - // have to run this twice for now. not sure why - // this is old - scanForReady() - scanForReady() - - findNextDirty("") - }) - - grid.NewButton("Check Ready", func() { - buttonDisable() - defer buttonEnable() - goSumS := release.current.GoState() - dirtyS := release.current.State() - lastS := release.current.LastTag() - if CheckReady() { - log.Info("repo is ready", release.current.Name(), goSumS, dirtyS, lastS) - return - } else { - log.Info("\trepo is not ready", release.current.Name(), goSumS, dirtyS, lastS) - } - }) grid.NewButton("scan for Ready", func() { me.Disable() scanForReady() me.Enable() }) - grid.NewButton("findNextDirty()", func() { + grid.NewButton("findNextDirty(PRIMATIVE)", func() { me.Disable() defer me.Enable() if findNextDirty("PRIMATIVE") { log.Info("findNextDirty() found a repo") return } + }) + grid.NewButton("findNextDirty()", func() { + me.Disable() + defer me.Enable() if findNextDirty("") { log.Info("findNextDirty() found a repo") return @@ -209,7 +197,7 @@ func createReleaseBox(box *gui.Node) { }) grid.NextRow() - group = release.box.NewGroup("experimental and dangerous stuff") + group = me.release.box.NewGroup("experimental and dangerous stuff") grid = group.NewGrid("buildOptions", 0, 0) grid.NewButton("rm -f go.mod go.sum", func() { me.Disable() @@ -297,14 +285,14 @@ func setCurrentRepo(newcur *repolist.Repo, s string, note string) bool { return false } - release.repo.SetText(newcur.GoPath()) - release.status.SetText(s) - release.notes.SetText(note) - release.current = newcur - release.version.SetText(release.current.Status.GetTargetVersion()) - release.releaseVersionB.SetText("release version " + release.current.Status.GetTargetVersion()) - // release.unreleaseB.SetText("un-release version " + release.current.targetVersion.String()) - release.openrepo.Enable() + me.release.repo.SetText(newcur.GoPath()) + me.release.status.SetText(s) + me.release.notes.SetText(note) + me.current = newcur + me.release.version.SetText(me.current.Status.GetTargetVersion()) + me.release.releaseVersionB.SetText("release version " + me.current.Status.GetTargetVersion()) + // me.release.unreleaseB.SetText("un-release version " + me.current.targetVersion.String()) + me.release.openrepo.Enable() return true } @@ -354,18 +342,25 @@ func findNextDirty(onlyKind string) bool { continue } log.Info("findNextDirty()", repo.GoPath(), goSumS) + // do makeredomod here + // if ! repo.Status.Exists("go.sum") { + // } if repo.Status.IsPrimitive() { if setCurrentRepo(repo, "PRIMATIVE", "release new version") { return true } continue } - if checkValidGoSum(release.current) { + log.Info("findNextDirty()", repo.GoPath(), "is not a primative repo") + if onlyKind == "PRIMITIVE" { + continue + } + if checkValidGoSum(repo) { setCurrentRepo(repo, "should be good to release", "pretty sure") return true } } log.Info("tried to findNextDirty() but not sure what to do next") - release.status.SetText("ALL DONE?") + me.release.status.SetText("ALL DONE?") return false } |
