From b3bfa8915c1cc39bb36094829273d43621eb39ee Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sun, 15 Dec 2024 08:45:44 -0600 Subject: [PATCH] lots more code cleanups --- build.go | 24 +++++++++++++++++++++++ clone.go | 6 ++++++ gitPull.go | 30 +++++++++++++++++++++++++++++ main.go | 56 ------------------------------------------------------ work.go | 20 +++++++++++++++++++ 5 files changed, 80 insertions(+), 56 deletions(-) create mode 100644 build.go create mode 100644 gitPull.go create mode 100644 work.go diff --git a/build.go b/build.go new file mode 100644 index 0000000..797efdb --- /dev/null +++ b/build.go @@ -0,0 +1,24 @@ +package main + +import ( + "os" + + "go.wit.com/lib/gui/shell" + "go.wit.com/log" +) + +func build() error { + err := forge.Build(workingRepo, nil) + pwd, _ := os.Getwd() + if err == nil { + log.Info("this totally worked", pwd) + shell.RunEcho([]string{"ls", "-l"}) + log.Info("ran ls") + } else { + log.Info("this totally did not work", pwd) + shell.RunEcho([]string{"ls", "-l"}) + log.Info("ran ls") + badExit(err) + } + return err +} diff --git a/clone.go b/clone.go index 164e354..4c7cac9 100644 --- a/clone.go +++ b/clone.go @@ -76,6 +76,8 @@ func recursiveClone(check *gitpb.Repo) error { var good int var bad int + badmap := make(map[string]error) + if check == nil { return errors.New("repo was nil") } @@ -111,6 +113,7 @@ func recursiveClone(check *gitpb.Repo) error { log.Info("recursiveClone() could not download", depRepo.GoPath) log.Info("err:", err) bad += 1 + badmap[depRepo.GoPath] = err } else { log.Info("downloaded", depRepo.GoPath) good += 1 @@ -118,6 +121,9 @@ func recursiveClone(check *gitpb.Repo) error { } log.Info("got", good, "repos", "failed on", bad, "repos") if bad != 0 { + for gopath, err := range badmap { + log.Info("clone() error", gopath, err) + } return errors.New("clone failed on some repos") } return nil diff --git a/gitPull.go b/gitPull.go new file mode 100644 index 0000000..aaee913 --- /dev/null +++ b/gitPull.go @@ -0,0 +1,30 @@ +package main + +import ( + "go.wit.com/lib/gui/shell" + "go.wit.com/log" +) + +func gitPull() { + log.Info("Total repositories:", forge.Repos.Len()) + log.Info("Going to run git pull in each one. TODO: use rill here") + pull := []string{"git", "pull"} + + var trycount, errcount int + repos := forge.Repos.SortByGoPath() + for repos.Scan() { + repo := repos.Next() + if argv.DryRun { + log.Info("git pull --dry-run", repo.GoPath) + continue + } + log.Info("git pull:", repo.FullPath) + trycount += 1 + log.Info("actually run: git pull:", repo.GoPath) + if result := shell.PathRunRealtime(repo.FullPath, pull); result.Error != nil { + log.Info("git pull error:", result.Error) + errcount += 1 + } + } + log.Info("Total repositories:", forge.Repos.Len(), "Total attempted:", trycount, "Errors:", errcount) +} diff --git a/main.go b/main.go index 2bc6ad2..b84987a 100644 --- a/main.go +++ b/main.go @@ -4,7 +4,6 @@ import ( "os" "go.wit.com/dev/alexflint/arg" - "go.wit.com/lib/gui/shell" "go.wit.com/lib/protobuf/forgepb" "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" @@ -86,58 +85,3 @@ func badExit(err error) { log.Info("Finished go-clone with error", err, forge.GetGoSrc()) os.Exit(-1) } - -func gitPull() { - log.Info("Total repositories:", forge.Repos.Len()) - log.Info("Going to run git pull in each one. TODO: use rill here") - pull := []string{"git", "pull"} - - var trycount, errcount int - repos := forge.Repos.SortByGoPath() - for repos.Scan() { - repo := repos.Next() - if argv.DryRun { - log.Info("git pull --dry-run", repo.GoPath) - continue - } - log.Info("git pull:", repo.FullPath) - trycount += 1 - log.Info("actually run: git pull:", repo.GoPath) - if result := shell.PathRunRealtime(repo.FullPath, pull); result.Error != nil { - log.Info("git pull error:", result.Error) - errcount += 1 - } - } - log.Info("Total repositories:", forge.Repos.Len(), "Total attempted:", trycount, "Errors:", errcount) -} - -func build() error { - err := forge.Build(workingRepo, nil) - pwd, _ := os.Getwd() - if err == nil { - log.Info("this totally worked", pwd) - shell.RunEcho([]string{"ls", "-l"}) - log.Info("ran ls") - } else { - log.Info("this totally did not work", pwd) - shell.RunEcho([]string{"ls", "-l"}) - log.Info("ran ls") - badExit(err) - } - return err -} - -func autoWork() { - // remake the go.work file - if argv.AutoWork { - log.Info("About to re-create", forge.GetGoSrc()+"/go.work") - shell.PathRun(forge.GetGoSrc(), []string{"mv", "go.work", "go.work.last"}) - forge.MakeGoWork() - shell.PathRun(forge.GetGoSrc(), []string{"go", "work", "use"}) - log.Info("") - log.Info("original go.work file saved as go.work.last") - log.Info("") - okExit("go.work create") - } - -} diff --git a/work.go b/work.go new file mode 100644 index 0000000..6b56094 --- /dev/null +++ b/work.go @@ -0,0 +1,20 @@ +package main + +import ( + "go.wit.com/lib/gui/shell" + "go.wit.com/log" +) + +func autoWork() { + // remake the go.work file + if !argv.AutoWork { + return + } + log.Info("About to re-create", forge.GetGoSrc()+"/go.work") + shell.PathRun(forge.GetGoSrc(), []string{"mv", "go.work", "go.work.last"}) + forge.MakeGoWork() + shell.PathRun(forge.GetGoSrc(), []string{"go", "work", "use"}) + log.Info("") + log.Info("original go.work file saved as go.work.last") + log.Info("") +}