diff options
| -rw-r--r-- | doRebuild.go | 43 |
1 files changed, 31 insertions, 12 deletions
diff --git a/doRebuild.go b/doRebuild.go index d8d2c71..a3131d9 100644 --- a/doRebuild.go +++ b/doRebuild.go @@ -39,7 +39,34 @@ func doRebuildForge() (string, error) { } } s, err = doRebuildPart2() - return s, err + if err != nil { + log.Info("build Part2 failed", err) + s, err = doVerifyNamespace() + if err != nil { + log.Info("doVerifyNamespace() failed", err) + return s, err + } + } + s, err = doVerifyNamespace() + if err != nil { + log.Info("doVerifyNamespace() failed", err) + return s, err + } + + repo := me.forge.Repos.FindByNamespace("go.wit.com/apps/forge") + if repo == nil { + _, err := shell.RunVerbose([]string{"forge", "show"}) + return "still can't find the forge sources", err + } + log.Info("trying build Part3") + // yay. it might work + os.Chdir(repo.FullPath) + r := shell.RunRealtime([]string{"make", "generate"}) + if r.Exit != 0 { + log.Info("make generate failed", r.Exit) + return "make generate error", errors.New("-1") + } + return "make generate might have worked", nil } func doRebuildPart1() (string, error) { @@ -129,20 +156,12 @@ func doRebuildPart2() (string, error) { if r.Error != nil { me.sh.BadExit("download GTK GO plugin toolkit failed", r.Error) } - doVerifyNamespace() + _, err := doVerifyNamespace() + _, err = doVerifyNamespace() if (me.forge == nil) || (me.forge.Repos == nil) { log.Info("RUN forge --rebuild again. it might work after a few tries") return "forge is new. this may not work yet", errors.New("forge init not working yet") } - repo := me.forge.Repos.FindByNamespace("go.wit.com/apps/forge") - if repo == nil { - 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"}) - return "make generate might have worked", r.Error + return "build part2 might have worked", err } |
