summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--globalResetOptions.go2
-rw-r--r--go.mod12
-rw-r--r--go.sum24
-rw-r--r--main.go4
-rw-r--r--releaseWindow.go93
-rw-r--r--scan.go26
6 files changed, 99 insertions, 62 deletions
diff --git a/globalResetOptions.go b/globalResetOptions.go
index 5f67d17..5007f0e 100644
--- a/globalResetOptions.go
+++ b/globalResetOptions.go
@@ -13,7 +13,7 @@ func globalResetOptions(box *gui.Node) {
me.deleteGoSrcPkgB = buildOptions.NewButton("rm ~/go/src & ~/go/pkg", func() {
for _, repo := range me.allrepos {
// status := repo.getStatus()
- if repo.status.CheckDirty() {
+ if repo.checkDirty() {
log.Warn("repo is dirty. commit your changes first", repo.String())
me.deleteGoSrcPkgB.SetLabel("rm ~/go/src (can't. dirty repos)")
return
diff --git a/go.mod b/go.mod
index 710c688..91b155a 100644
--- a/go.mod
+++ b/go.mod
@@ -3,11 +3,11 @@ module go.wit.com/apps/autotypist
go 1.21.4
require (
- go.wit.com/gui v0.13.11
- go.wit.com/lib/debugger v0.13.0
- go.wit.com/lib/gadgets v0.13.0
- go.wit.com/lib/gui/logsettings v0.13.0
- go.wit.com/lib/gui/repostatus v0.13.1
+ go.wit.com/gui v0.13.13
+ go.wit.com/lib/debugger v0.13.14
+ go.wit.com/lib/gadgets v0.13.13
+ go.wit.com/lib/gui/logsettings v0.13.14
+ go.wit.com/lib/gui/repostatus v0.13.13
go.wit.com/log v0.5.6
)
@@ -15,5 +15,5 @@ require (
go.wit.com/dev/alexflint/arg v1.4.5 // indirect
go.wit.com/dev/alexflint/scalar v1.2.1 // indirect
go.wit.com/dev/davecgh/spew v1.1.4 // indirect
- go.wit.com/widget v1.1.6 // indirect
+ go.wit.com/widget v1.1.7 // indirect
)
diff --git a/go.sum b/go.sum
index 30e3d72..dfec06a 100644
--- a/go.sum
+++ b/go.sum
@@ -4,17 +4,17 @@ go.wit.com/dev/alexflint/scalar v1.2.1 h1:loXOcbVnd+8YeJRLey+XXidecBiedMDO00zQ26
go.wit.com/dev/alexflint/scalar v1.2.1/go.mod h1:+rYsfxqdI2cwA8kJ7GCMwWbNJvfvWUurOCXLiwdTtSs=
go.wit.com/dev/davecgh/spew v1.1.4 h1:C9hj/rjlUpdK+E6aroyLjCbS5MFcyNUOuP1ICLWdNek=
go.wit.com/dev/davecgh/spew v1.1.4/go.mod h1:sihvWmnQ/09FWplnEmozt90CCVqBtGuPXM811tgfhFA=
-go.wit.com/gui v0.13.11 h1:d74Ko/XFZYR25P/AZfCQaVO2CuGh1BSjdUp1wjktdDg=
-go.wit.com/gui v0.13.11/go.mod h1:v2VgnOL3dlZ13KclYeedZ1cd20nQdvwjyJTNKvFX3DA=
-go.wit.com/lib/debugger v0.13.0 h1:k5XCa7BZFYA37rFf20iTAm5L4Ch+3eRuxCbHIhorYZI=
-go.wit.com/lib/debugger v0.13.0/go.mod h1:b3gykobdR+lcMjWAHJUa3GRsMYbnaHNwA/upfjpSA28=
-go.wit.com/lib/gadgets v0.13.0 h1:jtsEnf4DHqAxBxuYsaDlHti73rgaxYf/ffAXNB1PJAk=
-go.wit.com/lib/gadgets v0.13.0/go.mod h1:xidaHAL6Nk9+M9FkySVU1AG5i39v7T3PuFphUos6LxE=
-go.wit.com/lib/gui/logsettings v0.13.0 h1:iphACMcfdc5GoCcxZkShcWn9A/SwvnPmLXCSYSL+eJU=
-go.wit.com/lib/gui/logsettings v0.13.0/go.mod h1:h+skqrtQ3muJ1TzMQ7M568xAwqT7nZCGS32c5jYCrqc=
-go.wit.com/lib/gui/repostatus v0.13.1 h1:BFIBw6p1RoqvC3ibTpYTt/Tefsq86lXf6VKY0DZqqlk=
-go.wit.com/lib/gui/repostatus v0.13.1/go.mod h1:1q7IVR7sJ9r7wkrMi9VAG1JQFxy5PQutXCLPIUCvLd8=
+go.wit.com/gui v0.13.13 h1:rIaEIYol92gHbP/JkJCmFdzo7u5Bc3WoqBA3hwttL6o=
+go.wit.com/gui v0.13.13/go.mod h1:xdCB1u4UqyaijwZnDdO9510nBlbf4Cdgfsd+R7VtUDo=
+go.wit.com/lib/debugger v0.13.14 h1:SNNk7iXBQ3Gyk5Y28PrVTpr5OwNB0AxhuOSuO3qW55A=
+go.wit.com/lib/debugger v0.13.14/go.mod h1:tK3vo1n2VWRmf0yji8Lya6VlnjOVRXbS26Z3F3E97wk=
+go.wit.com/lib/gadgets v0.13.13 h1:pyAvyPKHuLJt4QW8+D3SfNpSF7YR8i0sBQPtLwSvZlc=
+go.wit.com/lib/gadgets v0.13.13/go.mod h1:6uIhec8M5XAzaoHhNBaGpglY/bFJC5PY9KIqZ1R/LJ0=
+go.wit.com/lib/gui/logsettings v0.13.14 h1:pC5wPwVsnFrdKgdpsFnn3eftXyufmdE3OXJo/tqmhwU=
+go.wit.com/lib/gui/logsettings v0.13.14/go.mod h1:jHjCXCTRV+2ZcVTXVZtXQqT/qYhZkFpmktMWRbyA9QE=
+go.wit.com/lib/gui/repostatus v0.13.13 h1:kttHRob2AFefdbNMDz39Xlmi2gImp6sFIYpE3KMS4YA=
+go.wit.com/lib/gui/repostatus v0.13.13/go.mod h1:kxHv1MecOASGZeRjflPuswARXqtfrhjwrTQU6eX7tRg=
go.wit.com/log v0.5.6 h1:rDC3ju95zfEads4f1Zm+QMkqjZ39CsYAT/UmQQs7VP4=
go.wit.com/log v0.5.6/go.mod h1:BaJBfHFqcJSJLXGQ9RHi3XVhPgsStxSMZRlaRxW4kAo=
-go.wit.com/widget v1.1.6 h1:av2miF5vlohMfARA/QGPTPfgW/ADup1c+oeAOKgroPY=
-go.wit.com/widget v1.1.6/go.mod h1:I8tnD3x3ECbB/CRNnLCdC+uoyk7rK0AEkzK1bQYSqoQ=
+go.wit.com/widget v1.1.7 h1:Gy84I2bD8CMna7NcKBX4sRLR8do6x6mVYX0Ui43f3is=
+go.wit.com/widget v1.1.7/go.mod h1:I8tnD3x3ECbB/CRNnLCdC+uoyk7rK0AEkzK1bQYSqoQ=
diff --git a/main.go b/main.go
index e4d3115..7a43d25 100644
--- a/main.go
+++ b/main.go
@@ -33,9 +33,9 @@ func main() {
// scan repos every 30 seconds
// check every second for the checkbox changing
var i int = 60
- myTicker(1 * time.Second, "newScan()", func() {
+ myTicker(1*time.Second, "newScan()", func() {
i += 1
- if ! me.scanEveryMinute.Checked() {
+ if !me.scanEveryMinute.Checked() {
if i < 60 {
i = 60
}
diff --git a/releaseWindow.go b/releaseWindow.go
index 62c8953..3314af8 100644
--- a/releaseWindow.go
+++ b/releaseWindow.go
@@ -3,6 +3,7 @@ package main
import (
"os"
+ "strings"
"go.wit.com/gui"
"go.wit.com/log"
@@ -43,6 +44,9 @@ func createReleaseWindow() {
return
}
+ versionS := "0.13.13"
+ partS := strings.Split(versionS, ".")
+
release.win = gadgets.NewBasicWindow(me.myGui, "Make a new release")
release.win.Custom = func() {
log.Info("Release Window close")
@@ -59,6 +63,8 @@ func createReleaseWindow() {
scanGoSum()
release.grid.NewButton("next repo", func() {
+ buttonDisable()
+ defer buttonEnable()
log.Info("find the next repo to release here")
if findNextDirty() {
log.Info("findNextDirty() found a repo")
@@ -79,6 +85,17 @@ func createReleaseWindow() {
log.Info("find the next repo first")
return
}
+ // make sure read only is set
+ if release.current.status.ReadOnly() {
+ release.readOnly.SetValue("true")
+ } else {
+ release.readOnly.SetValue("false")
+ }
+
+ // do a new scan
+ release.current.newScan()
+
+ // only continue if the go.sum & go.mod files are clean
if ok, missing := release.current.status.CheckGoSum(); ok {
log.Info("repo has go.sum requirements that are clean")
release.status.SetValue("CLEAN")
@@ -87,21 +104,17 @@ func createReleaseWindow() {
log.Info("BAD repo has go.sum requirements that are screwed up. missing:", missing)
release.status.SetValue("BAD")
release.current.setGoSumStatus("BAD")
+ return
}
- if release.current.status.ReadOnly() {
- release.readOnly.SetValue("true")
- } else {
- release.readOnly.SetValue("false")
- }
- release.current.newScan()
if release.current.dirtyLabel.String() == "PERFECT" {
+ log.Info("REPO IS STILL DIRTY")
return
}
- // log.Info("find the next repo to release here")
+ // open the status window to commit the release
release.current.status.Toggle()
- release.current.status.SetVersion("0", "13", "11", release.reason.String())
+ release.current.status.SetVersion(partS[0], partS[1], partS[2], release.reason.String())
release.current.status.Update()
})
release.openrepo.Disable()
@@ -112,23 +125,23 @@ func createReleaseWindow() {
release.notes = gadgets.NewOneLiner(release.grid, "notes")
release.version = gadgets.NewOneLiner(release.grid, "version")
- release.version.SetText("0.13.11")
+ release.version.SetText(versionS)
release.reason = gadgets.NewBasicEntry(release.grid, "release reason")
release.reason.SetText("hide works")
release.sendVersionB = release.grid.NewButton("send version", func() {
log.Info("set version()")
- release.current.status.SetVersion("0", "13", "12", release.reason.String())
+ release.current.status.SetVersion(partS[0], partS[1], partS[2], release.reason.String())
})
release.grid.NewButton("set ignore", func() {
tmp := release.current.getGoSumStatus()
log.Info("trying to set repo IGNORE is now =", tmp)
release.current.setGoSumStatus("IGNORE")
})
- release.checkDirtyB = release.grid.NewButton("CheckDirty()", func() {
+ release.checkDirtyB = release.grid.NewButton("checkDirty()", func() {
buttonDisable()
- if release.current.status.CheckDirty() {
+ if release.current.checkDirty() {
log.Info("repo is dirty")
} else {
log.Info("repo is not dirty")
@@ -220,23 +233,33 @@ func createReleaseWindow() {
}
func buttonDisable() {
- release.goGetB.Disable()
- release.makeRedomodB.Disable()
- release.checkGoSumB.Disable()
- release.openrepo.Disable()
- release.checkDirtyB.Disable()
- release.sendVersionB.Disable()
- release.checkSafeB.Disable()
+ release.win.Disable()
+ /*
+ release.nextRepoB.Disable()
+ release.openRepoB.Disable()
+ release.goGetB.Disable()
+ release.makeRedomodB.Disable()
+ release.checkGoSumB.Disable()
+ release.openrepo.Disable()
+ release.checkDirtyB.Disable()
+ release.sendVersionB.Disable()
+ release.checkSafeB.Disable()
+ */
}
func buttonEnable() {
- release.goGetB.Enable()
- release.makeRedomodB.Enable()
- release.checkGoSumB.Enable()
- release.openrepo.Enable()
- release.checkDirtyB.Enable()
- release.sendVersionB.Enable()
- release.checkSafeB.Enable()
+ release.win.Enable()
+ /*
+ release.nextRepoB.Enable()
+ release.openRepoB.Enable()
+ release.goGetB.Enable()
+ release.makeRedomodB.Enable()
+ release.checkGoSumB.Enable()
+ release.openrepo.Enable()
+ release.checkDirtyB.Enable()
+ release.sendVersionB.Enable()
+ release.checkSafeB.Enable()
+ */
}
func findDirty2() bool {
@@ -305,6 +328,12 @@ func findNextDirty() bool {
}
// latestversion := repo.status.GetLastTagVersion()
if goSumS == "CLEAN" {
+ // if it's clean here, then check and remake the go.sum file
+ // then stop to commit the release version
+ repo.checkSafeGoSumRemake()
+ if repo.checkDirty() {
+ dirtyS = repo.dirtyLabel.String()
+ }
if dirtyS == "PERFECT" {
continue
}
@@ -348,6 +377,12 @@ func findNextRepo() bool {
}
// latestversion := repo.status.GetLastTagVersion()
if goSumS == "CLEAN" {
+ // if it's clean here, then check and remake the go.sum file
+ // then stop to commit the release version
+ repo.checkSafeGoSumRemake()
+ if repo.checkDirty() {
+ dirtyS = repo.dirtyLabel.String()
+ }
if dirtyS == "PERFECT" {
continue
}
@@ -370,6 +405,12 @@ func findNextRepo() bool {
}
}
if goSumS == "BAD" {
+ // if it's clean here, then check and remake the go.sum file
+ // then stop to commit the release version
+ repo.checkSafeGoSumRemake()
+ if repo.checkDirty() {
+ dirtyS = repo.dirtyLabel.String()
+ }
if setCurrentRepo(repo, "bad", "redo go.sum") {
return true
}
diff --git a/scan.go b/scan.go
index e8c613d..0a52d95 100644
--- a/scan.go
+++ b/scan.go
@@ -63,20 +63,6 @@ func (r *repo) newScan() bool {
return false
}
-func (r *repo) getStatus() string {
- if r.status.CheckDirty() {
- log.Warn("CheckDirty() true")
- return "dirty"
- }
-
- if r.status.CheckBranches() {
- log.Warn("Branches are Perfect")
- return "PERFECT"
- }
- log.Warn("Branches are not Perfect")
- return "merge"
-}
-
func (r *repo) getGoSumStatus() string {
return r.goSumStatus.String()
}
@@ -86,10 +72,20 @@ func (r *repo) setGoSumStatus(s string) {
r.status.SetGoSumStatus(s)
}
+func (r *repo) checkDirty() bool {
+ if r.status.CheckDirty() {
+ log.Info("dirty repo:", r.status.String(), r.getGoSumStatus())
+ r.setGoSumStatus("DIRTY")
+ return true
+ }
+ return false
+}
+
func (r *repo) checkSafeGoSumRemake() {
if ok, bad := r.status.CheckSafeGoSumRemake(); ok {
log.Info("checkSafeGoSumRemake() is safe to redo")
r.setGoSumStatus("SAFE")
+ r.status.MakeRedomod()
} else {
log.Info("checkSafeGoSumRemake() is not safe. problems:", bad)
r.setGoSumStatus("BAD DEP")
@@ -110,7 +106,7 @@ func scanGoSum() {
repo.setGoSumStatus("PRIMATIVE")
continue
}
- if repo.status.CheckDirty() {
+ if repo.checkDirty() {
log.Info("dirty repo:", latestversion, repo.status.String())
log.Info("dirty repo.getGoSumStatus =", repo.getGoSumStatus())
repo.setGoSumStatus("DIRTY")