summaryrefslogtreecommitdiff
path: root/scanGoSum.go
diff options
context:
space:
mode:
Diffstat (limited to 'scanGoSum.go')
-rw-r--r--scanGoSum.go92
1 files changed, 92 insertions, 0 deletions
diff --git a/scanGoSum.go b/scanGoSum.go
new file mode 100644
index 0000000..8701808
--- /dev/null
+++ b/scanGoSum.go
@@ -0,0 +1,92 @@
+// This is a simple example
+package main
+
+import (
+ "go.wit.com/log"
+)
+
+func (r *repo) getGoSumStatus() string {
+ return r.goSumStatus.String()
+}
+
+func (r *repo) setGoSumStatus(s string) {
+ r.goSumStatus.SetLabel(s)
+ 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")
+ }
+}
+
+func scanGoSum() {
+ for _, repo := range me.allrepos {
+ if repo.String() == "go.wit.com/apps/guireleaser" {
+ if release.guireleaser == nil {
+ release.guireleaser = repo
+ }
+ }
+ latestversion := repo.status.GetLastTagVersion()
+ if repo.getGoSumStatus() == "BAD" {
+ continue
+ }
+ if repo.getGoSumStatus() == "DIRTY" {
+ continue
+ }
+ if repo.status.CheckPrimativeGoMod() {
+ log.Info("PRIMATIVE repo:", latestversion, repo.status.String())
+ repo.setGoSumStatus("PRIMATIVE")
+ continue
+ }
+ if repo.checkDirty() {
+ log.Info("dirty repo:", latestversion, repo.status.String())
+ log.Info("dirty repo.getGoSumStatus =", repo.getGoSumStatus())
+ repo.setGoSumStatus("DIRTY")
+
+ // 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()
+ continue
+ }
+ if ok, missing := repo.status.CheckGoSum(); ok {
+ log.Info("repo has go.sum requirements that are clean")
+ repo.setGoSumStatus("CLEAN")
+ } else {
+ log.Info("repo has go.sum requirements that are screwed up. missing:", missing)
+ repo.setGoSumStatus("BAD")
+
+ // release.repo.SetValue(repo.status.String())
+ // release.status.SetValue("bad")
+ // release.notes.SetValue("the go.sum file is wrong")
+ // release.current = repo
+ // release.openrepo.Enable()
+ continue
+ }
+ status := repo.dirtyLabel.String()
+ if status == "PERFECT" {
+ continue
+ } else {
+ repo.newScan()
+ }
+
+ log.Info("repo:", latestversion, status, repo.status.String())
+ }
+ log.Info("scanGoSum() did everything, not sure what to do next")
+}