maybe autoreleased a little

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2024-01-25 01:29:00 -06:00
parent ceeab4c0d2
commit 7aec6279b5
1 changed files with 81 additions and 51 deletions

View File

@ -2,10 +2,13 @@
package main package main
import ( import (
"os"
"go.wit.com/gui" "go.wit.com/gui"
"go.wit.com/log" "go.wit.com/log"
"go.wit.com/lib/gadgets" "go.wit.com/lib/gadgets"
"go.wit.com/lib/gui/repostatus"
) )
var release releaseStruct var release releaseStruct
@ -13,15 +16,16 @@ var release releaseStruct
type releaseStruct struct { type releaseStruct struct {
current *repo current *repo
win *gadgets.BasicWindow win *gadgets.BasicWindow
box *gui.Node box *gui.Node
group *gui.Node group *gui.Node
grid *gui.Node grid *gui.Node
repo *gadgets.OneLiner repo *gadgets.OneLiner
status *gadgets.OneLiner status *gadgets.OneLiner
notes *gadgets.OneLiner readOnly *gadgets.OneLiner
version *gadgets.OneLiner notes *gadgets.OneLiner
reason *gadgets.OneLiner version *gadgets.OneLiner
reason *gadgets.OneLiner
openrepo *gui.Node openrepo *gui.Node
@ -77,7 +81,11 @@ func createReleaseWindow() {
release.status.SetValue("BAD") release.status.SetValue("BAD")
release.current.goSumStatus.SetValue("BAD") release.current.goSumStatus.SetValue("BAD")
} }
release.current.status.Update() if release.current.status.ReadOnly() {
release.readOnly.SetValue("true")
} else {
release.readOnly.SetValue("false")
}
release.current.newScan() release.current.newScan()
if release.current.dirtyLabel.String() == "PERFECT" { if release.current.dirtyLabel.String() == "PERFECT" {
@ -91,6 +99,7 @@ func createReleaseWindow() {
release.repo = gadgets.NewOneLiner(release.grid, "repo") release.repo = gadgets.NewOneLiner(release.grid, "repo")
release.status = gadgets.NewOneLiner(release.grid, "status") release.status = gadgets.NewOneLiner(release.grid, "status")
release.readOnly = gadgets.NewOneLiner(release.grid, "read-only")
release.notes = gadgets.NewOneLiner(release.grid, "notes") release.notes = gadgets.NewOneLiner(release.grid, "notes")
release.version = gadgets.NewOneLiner(release.grid, "version") release.version = gadgets.NewOneLiner(release.grid, "version")
@ -138,6 +147,22 @@ func createReleaseWindow() {
} else { } else {
log.Info("BAD VERSION repo has go.sum requirements that are screwed up.", tmp) log.Info("BAD VERSION repo has go.sum requirements that are screwed up.", tmp)
log.Info("BAD VERSION need to addRepo() the missing repo", missing) log.Info("BAD VERSION need to addRepo() the missing repo", missing)
if repostatus.VerifyLocalGoRepo(missing) {
log.Info("BAD VERSION local directory exists", missing)
addRepo(reposgrid, missing, "master", "master", "master")
} else {
log.Info("BAD VERSION local directory does not exist", missing)
log.Info("START download of:", missing)
os.Setenv("GO111MODULE", "off")
err, output := release.current.status.RunCmd([]string{"go", "get", "-v", "-u", missing})
log.Warn(output)
log.Info("END download of:", missing)
if err == nil {
log.Warn("go get worked. recheck go.sum")
} else {
log.Warn("go get failed")
}
}
// addRepo(reposgrid, missing, "master", "master", "master") // addRepo(reposgrid, missing, "master", "master", "master")
} }
} }
@ -175,6 +200,11 @@ func createReleaseWindow() {
} }
buttonEnable() buttonEnable()
}) })
release.goGetB = release.grid.NewButton("SetMainWorkingName(guimaster)", func() {
buttonDisable()
release.current.status.SetMainWorkingName("guimaster")
buttonEnable()
})
} }
func buttonDisable() { func buttonDisable() {
@ -196,6 +226,7 @@ func buttonEnable() {
} }
func findDirty2() bool { func findDirty2() bool {
log.Info("findDirty2() START")
for _, repo := range me.allrepos { for _, repo := range me.allrepos {
goSumS := repo.goSumStatus.String() goSumS := repo.goSumStatus.String()
dirtyS := repo.dirtyLabel.String() dirtyS := repo.dirtyLabel.String()
@ -206,25 +237,43 @@ func findDirty2() bool {
if goSumS == "DIRTY 2" { if goSumS == "DIRTY 2" {
log.Info("repo DIRTY 2", repo.String(), goSumS, dirtyS) log.Info("repo DIRTY 2", repo.String(), goSumS, dirtyS)
release.repo.SetValue(repo.status.String()) if setCurrentRepo(repo, "dirty 2", "check manually I guess") {
release.status.SetValue("dirty 2") return true
release.notes.SetValue("check dirty 2 manually") }
release.current = repo
release.openrepo.Enable()
return true return true
} else { } else {
log.Info("repo not DIRTY 2", repo.String(), goSumS, dirtyS) log.Info("repo not DIRTY 2", repo.String(), goSumS, dirtyS)
} }
} }
log.Info("findDirty2() END")
return false return false
} }
func setCurrentRepo(newcur *repo, s string, note string) bool {
if newcur.status.ReadOnly() {
return false
}
release.repo.SetValue(newcur.status.String())
release.status.SetValue(s)
release.notes.SetValue(note)
release.current = newcur
release.openrepo.Enable()
if newcur.status.ReadOnly() {
release.readOnly.SetValue("true ro")
} else {
release.readOnly.SetValue("false ro")
}
return true
}
func findNextDirty() bool { func findNextDirty() bool {
for _, repo := range me.allrepos { for _, repo := range me.allrepos {
goSumS := repo.goSumStatus.String() goSumS := repo.goSumStatus.String()
dirtyS := repo.dirtyLabel.String() dirtyS := repo.dirtyLabel.String()
log.Info("repo", repo.String(), goSumS, dirtyS) log.Info("findNextDirty()", repo.String(), goSumS, dirtyS)
if goSumS == "PRIMATIVE" { if goSumS == "PRIMATIVE" {
continue continue
} }
@ -239,12 +288,9 @@ func findNextDirty() bool {
if dirtyS == "PERFECT" { if dirtyS == "PERFECT" {
continue continue
} }
release.repo.SetValue(repo.status.String()) if setCurrentRepo(repo, "clean", "check manually") {
release.status.SetValue("clean") return true
release.notes.SetValue("check manually") }
release.current = repo
release.openrepo.Enable()
return true
} }
if goSumS == "DIRTY" { if goSumS == "DIRTY" {
if ok, missing := repo.status.CheckGoSum(); ok { if ok, missing := repo.status.CheckGoSum(); ok {
@ -256,14 +302,9 @@ func findNextDirty() bool {
continue continue
} }
// release.repo.SetValue(repo.status.String()) if setCurrentRepo(repo, "dirty", "commit changes") {
// release.status.SetValue("bad") return true
release.repo.SetValue(repo.status.String()) }
release.status.SetValue("dirty")
release.notes.SetValue("commit changes")
release.current = repo
release.openrepo.Enable()
return true
} }
} }
log.Info("tried to findNextDirty() but not sure what to do next") log.Info("tried to findNextDirty() but not sure what to do next")
@ -275,7 +316,7 @@ func findNextRepo() {
goSumS := repo.goSumStatus.String() goSumS := repo.goSumStatus.String()
dirtyS := repo.dirtyLabel.String() dirtyS := repo.dirtyLabel.String()
log.Info("repo", repo.String(), goSumS, dirtyS) log.Info("findNextRepo()", repo.String(), goSumS, dirtyS)
if goSumS == "IGNORE" { if goSumS == "IGNORE" {
continue continue
} }
@ -290,12 +331,9 @@ func findNextRepo() {
if dirtyS == "PERFECT" { if dirtyS == "PERFECT" {
continue continue
} }
release.repo.SetValue(repo.status.String()) if setCurrentRepo(repo, "clean round 2", "check manually") {
release.status.SetValue("clean") return
release.notes.SetValue("check manually") }
release.current = repo
release.openrepo.Enable()
return
} }
if goSumS == "DIRTY" { if goSumS == "DIRTY" {
if ok, missing := repo.status.CheckGoSum(); ok { if ok, missing := repo.status.CheckGoSum(); ok {
@ -307,22 +345,14 @@ func findNextRepo() {
continue continue
} }
// release.repo.SetValue(repo.status.String()) if setCurrentRepo(repo, "dirty", "commit changes") {
// release.status.SetValue("bad") return
release.repo.SetValue(repo.status.String()) }
release.status.SetValue("dirty")
release.notes.SetValue("commit changes")
release.current = repo
release.openrepo.Enable()
return
} }
if goSumS == "BAD" { if goSumS == "BAD" {
release.repo.SetValue(repo.status.String()) if setCurrentRepo(repo, "bad", "redo go.sum") {
release.status.SetValue("bad") return
release.notes.SetValue("redo go.sum") }
release.current = repo
release.openrepo.Enable()
return
} }
} }
log.Info("tried to findNextRepo() but not sure what to do next") log.Info("tried to findNextRepo() but not sure what to do next")