diff options
| author | Jeff Carr <[email protected]> | 2024-01-23 22:48:07 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-01-23 22:48:07 -0600 |
| commit | 9ddf46cf75a15a7b6398cc6d25b20bb993429cda (patch) | |
| tree | fd2127c7b3d46867f1caa5b56fb8f9fbbeeb357e /releaseWindow.go | |
| parent | 2b8d19099f4cf7b66b88b006dabfb61328082201 (diff) | |
detect go.sum is clean
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'releaseWindow.go')
| -rw-r--r-- | releaseWindow.go | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/releaseWindow.go b/releaseWindow.go new file mode 100644 index 0000000..6460f40 --- /dev/null +++ b/releaseWindow.go @@ -0,0 +1,91 @@ +// This is a simple example +package main + +import ( + "go.wit.com/gui" + "go.wit.com/log" + + "go.wit.com/lib/gadgets" +) + +var release releaseStruct + +type releaseStruct struct { + current *repo + + win *gadgets.BasicWindow + box *gui.Node + group *gui.Node + grid *gui.Node + repo *gadgets.OneLiner + status *gadgets.OneLiner + notes *gadgets.OneLiner + + openrepo *gui.Node +} + +func createReleaseWindow() { + if release.win != nil { + release.win.Toggle() + return + } + + release.win = gadgets.NewBasicWindow(me.myGui, "Make a new release") + release.win.Custom = func() { + log.Info("Release Window close") + } + + release.win.Make() + release.win.StandardClose() + release.win.Draw() + release.box = release.win.Box() + release.group = release.box.NewGroup("things") + release.grid = release.group.NewGrid("buildOptions", 2, 1) + + release.grid.NewButton("next repo", func() { + log.Info("find the next repo to release here") + findNextRepo() + }) + + release.openrepo = release.grid.NewButton("open repo", func() { + if release.current == nil { + log.Info("find the next repo first") + return + } + if release.current.status.CheckGoSum() { + log.Info("repo has go.sum requirements that are clean") + release.status.SetValue("CLEAN") + } else { + log.Info("repo has go.sum requirements that are screwed up") + release.status.SetValue("BAD") + } + + // log.Info("find the next repo to release here") + // release.current.status.Toggle() + }) + release.openrepo.Disable() + + release.repo = gadgets.NewOneLiner(release.grid, "repo") + release.status = gadgets.NewOneLiner(release.grid, "status") + release.notes = gadgets.NewOneLiner(release.grid, "notes") +} + +func findNextRepo() { + for repo, _ := range me.allrepos { + latestversion := repo.status.GetLastTagVersion() + status := repo.dirtyLabel.String() + if status == "PERFECT" { + continue + } + if repo.status.CheckDirty() { + log.Info("dirty repo:", latestversion, status, repo.status.String()) + release.repo.SetValue(repo.status.String()) + release.status.SetValue("dirty") + release.notes.SetValue("You must commit your changes\nbefore you can continue") + release.current = repo + release.openrepo.Enable() + return + } + log.Info("repo:", latestversion, status, repo.status.String()) + } +} |
