summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.go24
-rw-r--r--clone.go6
-rw-r--r--gitPull.go30
-rw-r--r--main.go56
-rw-r--r--work.go20
5 files changed, 80 insertions, 56 deletions
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("")
+}