summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--globalDisplayOptions.go296
-rw-r--r--hideFunction.go23
-rw-r--r--releaseBox.go10
-rw-r--r--structs.go6
-rw-r--r--whitelist.go9
6 files changed, 191 insertions, 155 deletions
diff --git a/Makefile b/Makefile
index 91ba649..f69416a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,8 @@
VERSION = $(shell git describe --tags)
all:
+ @echo to test: 'make test'
+ @echo
@echo run this from the autotypist dir:
@echo " GUIRELEASE_REASON=notsure guireleaser"
@echo then:
diff --git a/globalDisplayOptions.go b/globalDisplayOptions.go
index 2e60176..69dd5ad 100644
--- a/globalDisplayOptions.go
+++ b/globalDisplayOptions.go
@@ -1,12 +1,7 @@
package main
import (
- "os"
- "strings"
-
"go.wit.com/gui"
- "go.wit.com/lib/debugger"
- "go.wit.com/lib/gui/logsettings"
"go.wit.com/log"
)
@@ -27,44 +22,47 @@ func globalDisplayOptions(box *gui.Node) {
})
hidegrid.NextRow()
- me.autoHideReadOnly = hidegrid.NewCheckbox("Hide read-only repos").SetChecked(true)
- me.autoHideReadOnly.Custom = func() {
- if me.autoHideReadOnly.Checked() {
- os.Setenv("AUTOTYPIST_READONLY", "hide")
- } else {
- os.Unsetenv("AUTOTYPIST_READONLY")
+ /*
+ me.autoHideReadOnly = hidegrid.NewCheckbox("Hide read-only repos").SetChecked(true)
+ me.autoHideReadOnly.Custom = func() {
+ if me.autoHideReadOnly.Checked() {
+ os.Setenv("AUTOTYPIST_READONLY", "hide")
+ } else {
+ os.Unsetenv("AUTOTYPIST_READONLY")
+ }
}
- }
- os.Setenv("AUTOTYPIST_READONLY", "hide")
- hidegrid.NextRow()
+ os.Setenv("AUTOTYPIST_READONLY", "hide")
+ hidegrid.NextRow()
- me.autoHideReleased = hidegrid.NewCheckbox("Hide Released repos").SetChecked(true)
- hidegrid.NextRow()
+ me.autoHideReleased = hidegrid.NewCheckbox("Hide Released repos").SetChecked(true)
+ hidegrid.NextRow()
- me.ignoreWhitelist = hidegrid.NewCheckbox("ignore whitelist (are you sure?)").SetChecked(false)
- hidegrid.NextRow()
+ me.ignoreWhitelist = hidegrid.NewCheckbox("ignore whitelist (are you sure?)").SetChecked(false)
+ hidegrid.NextRow()
- me.scanEveryMinute = hidegrid.NewCheckbox("Scan every minute").SetChecked(false)
- me.scanEveryMinute.Custom = func() {
- if me.scanEveryMinute.Checked() {
- os.Setenv("REPO_AUTO_SCAN", "true")
- log.Info("env REPO_AUTO_SCAN=", os.Getenv("REPO_AUTO_SCAN"))
- } else {
- os.Unsetenv("REPO_AUTO_SCAN")
- log.Info("env REPO_AUTO_SCAN=", os.Getenv("REPO_AUTO_SCAN"))
+ me.scanEveryMinute = hidegrid.NewCheckbox("Scan every minute").SetChecked(false)
+ me.scanEveryMinute.Custom = func() {
+ if me.scanEveryMinute.Checked() {
+ os.Setenv("REPO_AUTO_SCAN", "true")
+ log.Info("env REPO_AUTO_SCAN=", os.Getenv("REPO_AUTO_SCAN"))
+ } else {
+ os.Unsetenv("REPO_AUTO_SCAN")
+ log.Info("env REPO_AUTO_SCAN=", os.Getenv("REPO_AUTO_SCAN"))
+ }
}
- }
+ */
- hidegrid.NewButton("scan now", func() {
- log.Info("re-scanning repos now")
- i, s := me.repos.View.ScanRepositories()
- log.Info("re-scanning repos done", i, s)
- // me.duration.SetText(s)
- })
- me.duration = me.repos.View.MirrorScanDuration()
- hidegrid.Append(me.duration)
+ /*
+ hidegrid.NewButton("scan now", func() {
+ log.Info("re-scanning repos now")
+ i, s := me.repos.View.ScanRepositories()
+ log.Info("re-scanning repos done", i, s)
+ // me.duration.SetText(s)
+ })
+ me.duration = me.repos.View.MirrorScanDuration()
+ hidegrid.Append(me.duration)
- hidegrid.NextRow()
+ */
group1 = vbox.NewGroup("prep for release")
grid := group1.RawGrid()
@@ -101,125 +99,146 @@ func globalDisplayOptions(box *gui.Node) {
})
grid.NextRow()
- var incrementTags *gui.Node
- incrementTags = grid.NewButton("increment tags", func() {
- me.Disable()
- for _, repo := range me.repos.View.AllRepos() {
- if whitelist(repo.GoPath()) {
- continue
- }
- if repo.ReadOnly() {
- continue
+ grid.NewButton("make prepare-release", func() {
+ loop := me.repos.View.ReposSortByName()
+ for loop.Scan() {
+ repo := loop.Repo()
+
+ master := repo.Status.GetMasterVersion()
+ lastTag := repo.Status.LastTag()
+ if master == lastTag {
+ repo.Status.SetTargetVersion(master)
+ } else {
+ repo.Status.IncrementRevisionVersion("Nov 2024 test")
}
- lasttag := repo.LastTag()
- masterv := repo.Status.GetMasterVersion()
- targetv := repo.Status.GetTargetVersion()
+ }
+ })
+ grid.NextRow()
- if lasttag == masterv {
- // nothing to do if curv == masterv
- // unless go.sum depends on changed repos
- if targetv != lasttag {
- log.Info(repo.GoPath(), "trigger a new release?", targetv, lasttag)
- // repo.Status.SetVersion("0", "21", "0", me.releaseReasonS)
- repo.Status.IncrementMinorVersion(me.releaseReasonS)
+ /*
+ var incrementTags *gui.Node
+ incrementTags = grid.NewButton("increment tags", func() {
+ me.Disable()
+ for _, repo := range me.repos.View.AllRepos() {
+ if whitelist(repo.GoPath()) {
+ continue
+ }
+ if repo.ReadOnly() {
+ continue
}
+ lasttag := repo.LastTag()
+ masterv := repo.Status.GetMasterVersion()
+ targetv := repo.Status.GetTargetVersion()
- continue
- }
+ if lasttag == masterv {
+ // nothing to do if curv == masterv
+ // unless go.sum depends on changed repos
+ if targetv != lasttag {
+ log.Info(repo.GoPath(), "trigger a new release?", targetv, lasttag)
+ // repo.Status.SetVersion("0", "21", "0", me.releaseReasonS)
+ repo.Status.IncrementMinorVersion(me.releaseReasonS)
+ }
- newversion := repo.Status.GetNewVersionTag()
- if newversion == targetv {
- log.Info(repo.GoPath(), "targetv has been increased already to", targetv)
- continue
- }
+ continue
+ }
- if masterv != targetv {
- log.Info(repo.GoPath(), "master and target differ", masterv, targetv)
- repo.Status.IncrementVersion()
newversion := repo.Status.GetNewVersionTag()
- repo.Status.SetTargetVersion("v" + newversion)
- // already incremented
- continue
- }
- }
- if findNext() {
- log.Info("findNext() found a repo")
- }
- incrementTags.SetText("maybe ready?")
- me.Enable()
- })
- grid.NewButton("increment minor version", func() {
- // this is messy still. if the release process fails, it needs to continue
- // for now, use the "go.wit.com/log" release minor number as the official
- // release. If it hasn't been updated yet, then start there
- logrepo := me.repos.View.FindRepo("go.wit.com/log")
- if logrepo == nil {
- log.Info("couldn't find go.wit.com/log")
- return
- }
- releasev := logrepo.Status.LastTag()
- for _, repo := range me.repos.View.AllRepos() {
- if whitelist(repo.GoPath()) {
- continue
- }
- if repo.ReadOnly() {
- continue
- }
- if strings.HasPrefix(repo.GoPath(), "go.wit.com/dev") {
- continue
- }
- if strings.HasPrefix(repo.GoPath(), "go.wit.com/widget") {
- // widget I versioned early before I knew what the hell this would mean and can
- // not be down versioned because that's not how GO versioning works. Once you
- // set the version for a path, it's set in stone forever. (smart system!)
- // we could rename go.wit.com/widget to go.wit.com/newwidget and restart the versioning
- // system, but that's rediculous and this servers to always remind me to never make this mistake again
- repo.Status.IncrementRevisionVersion("trying minor")
- continue
+ if newversion == targetv {
+ log.Info(repo.GoPath(), "targetv has been increased already to", targetv)
+ continue
+ }
+
+ if masterv != targetv {
+ log.Info(repo.GoPath(), "master and target differ", masterv, targetv)
+ repo.Status.IncrementVersion()
+ newversion := repo.Status.GetNewVersionTag()
+ repo.Status.SetTargetVersion("v" + newversion)
+ // already incremented
+ continue
+ }
}
- if releasev == repo.Status.LastTag() {
- log.Info("skipping already released repo", repo.Status.GoPath())
- repo.Status.SetTargetVersion(releasev)
- continue
+ if findNext() {
+ log.Info("findNext() found a repo")
}
- // repo.Status.SetVersion("0", "22", "0", "trying increment minor")
- repo.Status.IncrementMinorVersion("trying minor")
- }
- })
- grid.NewButton("increment changed repos", func() {
- me.Disable()
- for _, repo := range me.repos.View.AllRepos() {
- if whitelist(repo.GoPath()) {
- continue
+ incrementTags.SetText("maybe ready?")
+ me.Enable()
+ })
+ grid.NewButton("increment minor version", func() {
+ // this is messy still. if the release process fails, it needs to continue
+ // for now, use the "go.wit.com/log" release minor number as the official
+ // release. If it hasn't been updated yet, then start there
+ logrepo := me.repos.View.FindRepo("go.wit.com/log")
+ if logrepo == nil {
+ log.Info("couldn't find go.wit.com/log")
+ return
}
- if repo.ReadOnly() {
- continue
+ releasev := logrepo.Status.LastTag()
+ for _, repo := range me.repos.View.AllRepos() {
+ if whitelist(repo.GoPath()) {
+ continue
+ }
+ if repo.ReadOnly() {
+ continue
+ }
+ if strings.HasPrefix(repo.GoPath(), "go.wit.com/dev") {
+ continue
+ }
+ if strings.HasPrefix(repo.GoPath(), "go.wit.com/widget") {
+ // widget I versioned early before I knew what the hell this would mean and can
+ // not be down versioned because that's not how GO versioning works. Once you
+ // set the version for a path, it's set in stone forever. (smart system!)
+ // we could rename go.wit.com/widget to go.wit.com/newwidget and restart the versioning
+ // system, but that's rediculous and this servers to always remind me to never make this mistake again
+ repo.Status.IncrementRevisionVersion("trying minor")
+ continue
+ }
+ if releasev == repo.Status.LastTag() {
+ log.Info("skipping already released repo", repo.Status.GoPath())
+ repo.Status.SetTargetVersion(releasev)
+ continue
+ }
+ // repo.Status.SetVersion("0", "22", "0", "trying increment minor")
+ repo.Status.IncrementMinorVersion("trying minor")
}
- lasttag := repo.Status.LastTag()
- if repo.Status.GetCurrentVersion() == lasttag {
- log.Info("skipping unchanged repo", repo.Status.GoPath())
- repo.Status.SetTargetVersion(lasttag)
- continue
+ })
+ grid.NewButton("increment changed repos", func() {
+ me.Disable()
+ for _, repo := range me.repos.View.AllRepos() {
+ if whitelist(repo.GoPath()) {
+ continue
+ }
+ if repo.ReadOnly() {
+ continue
+ }
+ lasttag := repo.Status.LastTag()
+ if repo.Status.GetCurrentVersion() == lasttag {
+ log.Info("skipping unchanged repo", repo.Status.GoPath())
+ repo.Status.SetTargetVersion(lasttag)
+ continue
+ }
+ repo.Status.IncrementRevisionVersion("go-clone")
}
- repo.Status.IncrementRevisionVersion("go-clone")
- }
- me.repos.View.ScanRepositories()
- me.Enable()
- })
+ me.repos.View.ScanRepositories()
+ me.Enable()
+ })
+ */
grid.NextRow()
- group2 := vbox.NewGroup("Debugger")
- dbggrid := group2.NewGrid("gdb", 0, 0)
- dbggrid.NewButton("logging Window", func() {
- logsettings.LogWindow()
- })
- dbggrid.NextRow()
+ /*
+ group2 := vbox.NewGroup("Debugger")
+ dbggrid := group2.NewGrid("gdb", 0, 0)
+ dbggrid.NewButton("logging Window", func() {
+ logsettings.LogWindow()
+ })
+ dbggrid.NextRow()
- dbggrid.NewButton("Debugger Window", func() {
- debugger.DebugWindow()
- })
+ dbggrid.NewButton("Debugger Window", func() {
+ debugger.DebugWindow()
+ })
+ */
}
+/*
func hidePerfect() {
for _, repo := range me.repos.View.AllRepos() {
if repo.State() == "PERFECT" {
@@ -231,3 +250,4 @@ func hidePerfect() {
}
}
}
+*/
diff --git a/hideFunction.go b/hideFunction.go
index 2feac4d..fcbbacf 100644
--- a/hideFunction.go
+++ b/hideFunction.go
@@ -4,15 +4,16 @@ import (
"os"
"go.wit.com/lib/gui/repolist"
- "go.wit.com/log"
)
// like tcl/tk, use ENV variables to set display preferences
func hideFunction(r *repolist.RepoRow) {
- if r.GoPath() == "go.wit.com/dev/alexflint/arg" {
- log.Info("found autoHideReleased() =", me.autoHideReleased.Checked())
- log.Info("found alexflint/arg IsReleased() =", r.Status.IsReleased())
- }
+ /*
+ if r.GoPath() == "go.wit.com/dev/alexflint/arg" {
+ log.Info("found autoHideReleased() =", me.autoHideReleased.Checked())
+ log.Info("found alexflint/arg IsReleased() =", r.Status.IsReleased())
+ }
+ */
// always show dirty repos
if r.Status.IsDirty() {
@@ -47,12 +48,14 @@ func hideFunction(r *repolist.RepoRow) {
}
}
- if me.autoHideReleased.Checked() {
- if r.Status.IsReleased() {
- r.Hide()
- return
+ /*
+ if me.autoHideReleased.Checked() {
+ if r.Status.IsReleased() {
+ r.Hide()
+ return
+ }
}
- }
+ */
// show everything else. often this will be "unconforming" repos
// if you what those repos ignored, add these to the config file
diff --git a/releaseBox.go b/releaseBox.go
index 8a430f1..7604236 100644
--- a/releaseBox.go
+++ b/releaseBox.go
@@ -170,6 +170,16 @@ func createReleaseBox(box *gui.Node) {
group = me.release.box.NewGroup("experimental and potentially dangerous stuff")
grid = group.NewGrid("buildOptions", 0, 0)
+ me.setBranchesToMasterB = grid.NewButton("set all branches to master", func() {
+ me.Disable()
+ defer me.Enable()
+ if setAllBranchesToMaster() {
+ // if it succeeds, disable this button
+ me.setBranchesToMasterB.Disable()
+ }
+ })
+ grid.NextRow()
+
grid.NewButton("git ls-files |grep go.mod", func() {
for _, repo := range me.repos.View.AllRepos() {
log.Info("repo:", repo.Name())
diff --git a/structs.go b/structs.go
index e61fba0..661f99a 100644
--- a/structs.go
+++ b/structs.go
@@ -27,9 +27,9 @@ type autoType struct {
repos *repoWindow
// #### guireleaser repolist display options
- autoHideReadOnly *gui.Node
- autoHideReleased *gui.Node
- ignoreWhitelist *gui.Node
+ // autoHideReadOnly *gui.Node
+ // autoHideReleased *gui.Node
+ // ignoreWhitelist *gui.Node
// #### autotypist Global Build Options
// what to change all the branches to
diff --git a/whitelist.go b/whitelist.go
index 502e007..d8c6c77 100644
--- a/whitelist.go
+++ b/whitelist.go
@@ -11,7 +11,8 @@ func initWhitelist() {
me.release.whitelist = make(map[string]*repolist.RepoRow)
for _, repo := range me.repos.View.AllRepos() {
if strings.HasPrefix(repo.GoPath(), "go.wit.com/dev/davecgh") {
- me.release.whitelist[repo.GoPath()] = repo
+ repo.Status.Whitelist = true
+ // me.release.whitelist[repo.GoPath()] = repo
}
//
// if repo.String() == "go.wit.com/apps/guireleaser" {
@@ -27,9 +28,9 @@ func initWhitelist() {
func whitelist(path string) bool {
// log.Info("whitelist START", path)
- if me.ignoreWhitelist.Checked() {
- return false
- }
+ // if me.ignoreWhitelist.Checked() {
+ // return false
+ // }
_, ok := me.release.whitelist[path]
if ok {