From bc50d1090b2b29c55c005821f4e84c8874b9de6e Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Thu, 16 Oct 2025 10:15:01 -0500 Subject: try breaking this problem into parts --- doRebuild.go | 23 ++++++++++++++++++++++- doVerify.go | 11 ++++++++--- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/doRebuild.go b/doRebuild.go index e279240..d8d2c71 100644 --- a/doRebuild.go +++ b/doRebuild.go @@ -27,6 +27,22 @@ func doRebuild() (string, error) { } func doRebuildForge() (string, error) { + var s string + var err error + s, err = doRebuildPart1() + if err != nil { + log.Info("build Part1 failed", err) + s, err = doVerifyNamespace() + if err != nil { + log.Info("doVerifyNamespace() failed", err) + return s, err + } + } + s, err = doRebuildPart2() + return s, err +} + +func doRebuildPart1() (string, error) { log.Info("download here") if path, err := fhelp.CheckCmd("goimports"); err != nil { log.Info("go-clone missing", path, err) @@ -46,7 +62,10 @@ func doRebuildForge() (string, error) { cmd := []string{"go", "install", "go.wit.com/apps/go-mod-clean@latest"} shell.RunRealtime(cmd) } - doVerifyNamespace() + return "part1", errors.New("probably failed. notsure") +} + +func doRebuildPart2() (string, error) { if path, err := fhelp.CheckCmd("go-clone"); err != nil { pfile, _ := resources.ReadFile("resources/GOPATH") log.Info("") @@ -66,6 +85,7 @@ func doRebuildForge() (string, error) { // log.Info("Running:", cmd) // shell.RunRealtime(cmd) + doVerifyNamespace() r := shell.Run([]string{"forge", "show"}) if r.Error != nil { return "download go-mod-clean failed", r.Error @@ -120,6 +140,7 @@ func doRebuildForge() (string, error) { r := shell.Run([]string{"forge", "show"}) return "failed the first go around. run it again. this feature is new", r.Error } + doVerifyNamespace() // yay. it might work os.Chdir(repo.FullPath) r = shell.Run([]string{"make", "generate"}) diff --git a/doVerify.go b/doVerify.go index 0b07092..5317183 100644 --- a/doVerify.go +++ b/doVerify.go @@ -4,6 +4,7 @@ package main import ( + "errors" "path/filepath" "go.wit.com/lib/gui/prep" @@ -46,7 +47,7 @@ func cleanNamespace(r *gitpb.Repo) string { func doVerifyNamespace() (string, error) { var s string = "doVerifyNamespace()" var err error - var changed bool + var counter int for r := range me.forge.Repos.IterAll() { newpath := cleanNamespace(r) if newpath == "" { @@ -56,18 +57,22 @@ func doVerifyNamespace() (string, error) { // already good namespace. continue } else if newpath != r.Namespace { - changed = true + counter += 1 log.Info("Changed", r.FullPath, "to", newpath) r.Namespace = newpath continue } + counter += 1 log.Info("cleanNamespace() didn't match", r.Namespace) } + if counter != 0 { + err = errors.New(log.Sprintf("%d namespaces were invalid", counter)) + } if prep.DryRun() { return s, err } - if changed { + if counter != 0 { me.forge.Repos.SaveVerbose() } -- cgit v1.2.3