summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doRebuild.go23
-rw-r--r--doVerify.go11
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()
}