summaryrefslogtreecommitdiff
path: root/doDownloadForge.go
diff options
context:
space:
mode:
Diffstat (limited to 'doDownloadForge.go')
-rw-r--r--doDownloadForge.go92
1 files changed, 92 insertions, 0 deletions
diff --git a/doDownloadForge.go b/doDownloadForge.go
new file mode 100644
index 0000000..5d86218
--- /dev/null
+++ b/doDownloadForge.go
@@ -0,0 +1,92 @@
+// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
+// Use of this source code is governed by the GPL 3.0
+
+package main
+
+// An app to submit patches for the 30 GO GUI repos
+
+import (
+ "go.wit.com/lib/fhelp"
+ "go.wit.com/lib/gui/shell"
+ "go.wit.com/log"
+)
+
+// download forge. A good way to check things work
+func doDownloadForge() {
+ log.Info("download here")
+ if path, err := fhelp.CheckCmd("go-clone"); err != nil {
+ log.Info("go-clone missing", path, err)
+ cmd := []string{"go", "install", "go.wit.com/apps/go-clone@latest"}
+ shell.RunRealtime(cmd)
+ }
+ if _, err := fhelp.CheckCmd("autogenpb"); err != nil {
+ cmd := []string{"go", "install", "go.wit.com/apps/autogenpb@latest"}
+ shell.RunRealtime(cmd)
+ }
+ if _, err := fhelp.CheckCmd("go-mod-clean"); err != nil {
+ cmd := []string{"go", "install", "go.wit.com/apps/go-mod-clean@latest"}
+ shell.RunRealtime(cmd)
+ }
+ if path, err := fhelp.CheckCmd("go-clone"); err != nil {
+ log.Info("can't prep build. you probably need ~/go/bin in your PATH", path, err)
+ return
+ }
+ var basecmd []string
+ var cmd []string
+ if me.forge.IsGoWork() {
+ log.Info("Using go.work directory")
+ basecmd = []string{"go-clone", "--work"}
+ } else {
+ basecmd = []string{"go-clone"}
+ }
+ // log.Info("Running:", cmd)
+ // shell.RunRealtime(cmd)
+
+ r := shell.Run([]string{"forge", "show"})
+ if r.Error != nil {
+ me.sh.BadExit("download go-mod-clean failed", r.Error)
+ }
+
+ cmd = append(basecmd, "go.wit.com/apps/go-mod-clean")
+ log.Info("Running:", cmd)
+ r = shell.RunRealtime(cmd)
+ if r.Error != nil {
+ me.sh.BadExit("download go-mod-clean failed", r.Error)
+ }
+
+ cmd = append(basecmd, "go.wit.com/apps/autogenpb")
+ log.Info("Running:", cmd)
+ r = shell.RunRealtime(cmd)
+ if r.Error != nil {
+ me.sh.BadExit("download autogenpb failed", r.Error)
+ }
+
+ cmd = append(basecmd, "go.wit.com/apps/forge")
+ log.Info("Running:", cmd)
+ r = shell.RunRealtime(cmd)
+ if r.Error != nil {
+ me.sh.BadExit("download forge failed", r.Error)
+ }
+
+ cmd = append(basecmd, "go.wit.com/toolkits/gocui")
+ log.Info("Running:", cmd)
+ r = shell.RunRealtime(cmd)
+ if r.Error != nil {
+ me.sh.BadExit("download CUI GO plugin toolkit failed", r.Error)
+ }
+
+ cmd = append(basecmd, "go.wit.com/toolkits/andlabs")
+ log.Info("Running:", cmd)
+ r = shell.RunRealtime(cmd)
+ if r.Error != nil {
+ me.sh.BadExit("download GTK GO plugin toolkit failed", r.Error)
+ }
+
+ // should, after go-clone, be able to go build
+ /*
+ repo := me.forge.FindByGoPath("go.wit.com/lib/proto/forgepb")
+ if repo != nil {
+ repo.RunVerbose([]string{"autogenpb"})
+ }
+ */
+}