2024-01-23 22:48:07 -06:00
|
|
|
// This is a simple example
|
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"go.wit.com/gui"
|
|
|
|
"go.wit.com/log"
|
|
|
|
|
|
|
|
"go.wit.com/lib/gadgets"
|
2024-02-18 15:09:04 -06:00
|
|
|
"go.wit.com/lib/gui/repolist"
|
2024-01-23 22:48:07 -06:00
|
|
|
)
|
|
|
|
|
|
|
|
type releaseStruct struct {
|
2024-03-02 20:47:10 -06:00
|
|
|
box *gui.Node
|
|
|
|
group *gui.Node
|
|
|
|
grid *gui.Node
|
|
|
|
repo *gadgets.OneLiner
|
|
|
|
status *gadgets.OneLiner
|
|
|
|
readOnly *gadgets.OneLiner
|
|
|
|
notes *gadgets.OneLiner
|
|
|
|
version *gadgets.OneLiner
|
2024-02-01 13:30:26 -06:00
|
|
|
releaseVersionB *gui.Node
|
2024-03-02 20:47:10 -06:00
|
|
|
reason *gadgets.BasicEntry
|
2024-01-23 22:48:07 -06:00
|
|
|
|
|
|
|
openrepo *gui.Node
|
2024-01-24 16:25:41 -06:00
|
|
|
|
2024-01-24 22:22:34 -06:00
|
|
|
goGetB *gui.Node
|
|
|
|
checkGoSumB *gui.Node
|
|
|
|
checkDirtyB *gui.Node
|
2024-01-24 16:25:41 -06:00
|
|
|
sendVersionB *gui.Node
|
2024-01-26 09:34:42 -06:00
|
|
|
checkSafeB *gui.Node
|
2024-02-23 09:01:58 -06:00
|
|
|
whitelist map[string]*repolist.RepoRow
|
2024-01-23 22:48:07 -06:00
|
|
|
}
|
|
|
|
|
2024-01-30 14:20:54 -06:00
|
|
|
func (w *autoType) Disable() {
|
2024-02-20 14:44:38 -06:00
|
|
|
me.mainBox.Disable()
|
2024-01-30 14:20:54 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
func (w *autoType) Enable() {
|
2024-02-20 14:44:38 -06:00
|
|
|
me.mainBox.Enable()
|
2024-01-30 14:20:54 -06:00
|
|
|
}
|
2024-01-23 22:48:07 -06:00
|
|
|
|
2024-01-30 14:20:54 -06:00
|
|
|
func createReleaseBox(box *gui.Node) {
|
2024-02-20 16:11:00 -06:00
|
|
|
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()
|
2024-02-09 11:50:16 -06:00
|
|
|
|
2024-02-20 16:11:00 -06:00
|
|
|
me.release.releaseVersionB = me.release.grid.NewButton("release version", func() {
|
2024-01-29 09:38:32 -06:00
|
|
|
buttonDisable()
|
2025-01-30 01:15:00 -06:00
|
|
|
if err := doRelease(); err == nil {
|
2024-01-31 16:39:42 -06:00
|
|
|
buttonEnable()
|
2024-02-09 11:50:16 -06:00
|
|
|
log.Info("doRelease() worked")
|
2024-01-31 16:39:42 -06:00
|
|
|
} else {
|
2025-01-30 01:15:00 -06:00
|
|
|
log.Info("doRelease() failed", err, me.current.GetGoPath())
|
2024-01-31 16:39:42 -06:00
|
|
|
}
|
2024-01-23 22:48:07 -06:00
|
|
|
})
|
2025-01-30 01:15:00 -06:00
|
|
|
me.release.grid.NewButton("Find Next", func() {
|
2024-02-20 20:42:54 -06:00
|
|
|
me.Disable()
|
|
|
|
defer me.Enable()
|
|
|
|
if findNext() {
|
|
|
|
log.Info("findNext() found a repo")
|
|
|
|
return
|
|
|
|
}
|
|
|
|
})
|
2025-01-30 01:15:00 -06:00
|
|
|
me.release.grid.NewButton("Show Next", func() {
|
|
|
|
check := me.current
|
|
|
|
if check == nil {
|
|
|
|
log.Info("boo, current is missing", me.current.GetGoPath())
|
|
|
|
return
|
|
|
|
}
|
|
|
|
testGoRepo(check)
|
|
|
|
me.forge.HumanPrintRepo(check)
|
|
|
|
})
|
2024-02-20 16:11:00 -06:00
|
|
|
me.release.grid.NextRow()
|
2024-01-23 22:48:07 -06:00
|
|
|
|
2024-02-20 16:11:00 -06:00
|
|
|
me.release.repo = gadgets.NewOneLiner(me.release.grid, "repo")
|
|
|
|
me.release.openrepo = me.release.grid.NewButton("Configure", func() {
|
2024-12-17 18:48:45 -06:00
|
|
|
if repov := me.repos.View.FindByPath(me.current.GetGoPath()); repov != nil {
|
|
|
|
repov.Status.Toggle()
|
|
|
|
}
|
2024-01-23 22:48:07 -06:00
|
|
|
})
|
2024-02-20 16:11:00 -06:00
|
|
|
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()
|
|
|
|
|
|
|
|
me.release.version = gadgets.NewOneLiner(me.release.grid, "version")
|
|
|
|
me.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(me.release.grid, "working directory (pwd)")
|
|
|
|
me.release.grid.NextRow()
|
|
|
|
me.goSrcPwd = gadgets.NewOneLiner(me.release.grid, "go src home")
|
|
|
|
me.release.grid.NextRow()
|
2024-01-30 16:48:40 -06:00
|
|
|
|
2024-12-12 02:05:47 -06:00
|
|
|
// me.userHomePwd.SetText(homeDir)
|
|
|
|
me.goSrcPwd.SetText(me.forge.GetGoSrc())
|
2024-02-02 16:37:41 -06:00
|
|
|
|
2024-02-20 16:11:00 -06:00
|
|
|
group := me.release.box.NewGroup("Run on Current Repo")
|
2024-02-20 14:44:38 -06:00
|
|
|
grid := group.NewGrid("buildOptions", 0, 0)
|
2024-01-30 16:48:40 -06:00
|
|
|
|
2025-01-30 03:06:49 -06:00
|
|
|
/*
|
|
|
|
grid.NewButton("whitelist", func() {
|
|
|
|
})
|
|
|
|
*/
|
2024-01-30 16:48:40 -06:00
|
|
|
|
2024-02-20 14:44:38 -06:00
|
|
|
grid.NextRow()
|
2024-02-09 11:50:16 -06:00
|
|
|
|
2025-01-30 03:06:49 -06:00
|
|
|
group = me.release.box.NewGroup("Publish until done")
|
2024-02-20 14:44:38 -06:00
|
|
|
grid = group.NewGrid("buildOptions", 0, 0)
|
2024-02-20 16:11:00 -06:00
|
|
|
grid.NewButton("doRelease() all", func() {
|
2024-02-09 11:50:16 -06:00
|
|
|
buttonDisable()
|
2025-01-30 03:06:49 -06:00
|
|
|
count := 0
|
|
|
|
for {
|
|
|
|
log.Info("START doRelease() LOOP count =", count, "len me.done =", len(me.done))
|
|
|
|
if err := doRelease(); err != nil {
|
2024-12-11 01:19:07 -06:00
|
|
|
break
|
|
|
|
}
|
2025-01-30 03:06:49 -06:00
|
|
|
count += 1
|
|
|
|
if count > 20 {
|
2024-12-05 14:18:24 -06:00
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
2025-01-30 03:06:49 -06:00
|
|
|
buttonEnable()
|
2024-12-05 14:18:24 -06:00
|
|
|
})
|
2025-01-30 03:06:49 -06:00
|
|
|
grid.NextRow()
|
2024-12-05 14:18:24 -06:00
|
|
|
}
|
|
|
|
|
2024-01-24 16:25:41 -06:00
|
|
|
func buttonDisable() {
|
2024-01-30 14:20:54 -06:00
|
|
|
me.Disable()
|
2024-12-03 22:35:19 -06:00
|
|
|
me.release.box.Disable()
|
2024-01-24 16:25:41 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
func buttonEnable() {
|
2024-01-30 14:20:54 -06:00
|
|
|
me.Enable()
|
2024-12-03 22:35:19 -06:00
|
|
|
me.release.box.Enable()
|
2024-01-24 16:25:41 -06:00
|
|
|
}
|