summaryrefslogtreecommitdiff
path: root/releaseBox.go
diff options
context:
space:
mode:
Diffstat (limited to 'releaseBox.go')
-rw-r--r--releaseBox.go151
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
}