diff options
| author | Jeff Carr <[email protected]> | 2024-02-17 14:21:05 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-02-17 14:21:05 -0600 |
| commit | bbc78159fe11c78ae33cc8026887f62888003630 (patch) | |
| tree | d103c28bba28cd5e1a981c6a13f225c59644242b /scan.go | |
| parent | 6b5472ea43826bf1fce95257ffe51560ef3e0f04 (diff) | |
using repolist
Diffstat (limited to 'scan.go')
| -rw-r--r-- | scan.go | 126 |
1 files changed, 27 insertions, 99 deletions
@@ -1,27 +1,39 @@ -// This is a simple example package main import ( "fmt" + "strings" "time" "go.wit.com/log" - - "go.wit.com/lib/gui/repostatus" ) +func scanRepositories() { + var i int = 0 + t := timeFunction(func() { + for _, repo := range me.allrepos { + repo.newScan() + i += 1 + } + }) + s := fmt.Sprint(t) + log.Info("Scanned", i, "repositories. todo: count/show changes", s) +} + func (r *repo) newScan() bool { if r.status == nil { log.Warn("repo.status = nil. not initialized for some reason") return false } - // r.scan() - if repostatus.VerifyLocalGoRepo(r.getPath()) { - log.Verbose("repo actually exists", r.getPath()) - } else { - log.Warn("repo does not exist", r.getPath()) - return false - } + + // first run the repostatus update + r.status.UpdateNew() + + // now read those values and display them in our table + // mname := r.status.GetMasterBranchName() + // mver := r.status.GetMasterVersion() + // mver = mver + " (" + mname + ")" + // r.masterVersion.SetLabel(mver) cbname := r.status.GetCurrentBranchName() cbversion := r.status.GetCurrentBranchVersion() @@ -29,8 +41,11 @@ func (r *repo) newScan() bool { r.lastTag.SetLabel(lasttag) r.vLabel.SetLabel(cbname + " " + cbversion) - if r.status.Changed() { - log.Warn("should scan here") + if c, ok := r.status.Changed(); ok { + c := strings.TrimSpace(c) + for _, line := range strings.Split(c, "\n") { + log.Info(r.status.Path(), line) + } } status := r.status.GetStatus() r.dirtyLabel.SetLabel(status) @@ -43,93 +58,6 @@ func (r *repo) newScan() bool { return false } -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.status.UpdateCurrent() - repo.newScan() - } - - log.Info("repo:", latestversion, status, repo.status.String()) - } - log.Info("scanGoSum() did everything, not sure what to do next") -} - // timeFunction takes a function as an argument and returns the execution time. func timeFunction(f func()) time.Duration { startTime := time.Now() // Record the start time |
