summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-15 07:35:33 -0500
committerJeff Carr <[email protected]>2025-10-15 07:35:33 -0500
commitafe872481be98d8cc13c0c0d435ddcc12c3a0ffb (patch)
tree0cbbe70ea57f2b3bf7f1034ba183a7abc7b4c818
parent99aef6a8935243a81058b69578c7e702474c1438 (diff)
start fixing auto rebuild
-rw-r--r--doDev.go2
-rw-r--r--doDownloadForge.go92
-rw-r--r--windowHowto.go63
3 files changed, 94 insertions, 63 deletions
diff --git a/doDev.go b/doDev.go
index fee1f09..07df3c0 100644
--- a/doDev.go
+++ b/doDev.go
@@ -58,7 +58,7 @@ func doDev() (string, error) {
}
if argv.Dev.BuildForge {
- downloadForge()
+ doDownloadForge()
return "todo: build forge", nil
}
return "todo: do something here", nil
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"})
+ }
+ */
+}
diff --git a/windowHowto.go b/windowHowto.go
index 0d3cb97..f626af3 100644
--- a/windowHowto.go
+++ b/windowHowto.go
@@ -6,12 +6,7 @@ package main
// An app to submit patches for the 30 GO GUI repos
import (
- "os"
-
- "go.wit.com/lib/fhelp"
"go.wit.com/lib/gadgets"
- "go.wit.com/lib/gui/shell"
- "go.wit.com/log"
)
func makeHowtoWin() *gadgets.GenericWindow {
@@ -47,63 +42,7 @@ func makeHowtoWin() *gadgets.GenericWindow {
grid.NewButton("Download into "+me.forge.Config.ReposDir, func() {
howtoWin.Disable()
defer howtoWin.Enable()
- downloadForge()
+ doDownloadForge()
})
return howtoWin
}
-
-func downloadForge() {
- 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", "--recursive"}
- } else {
- basecmd = []string{"go-clone", "--recursive"}
- }
- // log.Info("Running:", cmd)
- // shell.RunRealtime(cmd)
-
- cmd = append(basecmd, "go.wit.com/apps/go-mod-clean")
- log.Info("Running:", cmd)
- shell.RunRealtime(cmd)
- os.Exit(-1)
-
- cmd = append(basecmd, "go.wit.com/apps/forge")
- log.Info("Running:", cmd)
- shell.RunRealtime(cmd)
-
- cmd = append(basecmd, "go.wit.com/toolkits/gocui")
- log.Info("Running:", cmd)
- shell.RunRealtime(cmd)
-
- cmd = append(basecmd, "go.wit.com/toolkits/andlabs")
- log.Info("Running:", cmd)
- shell.RunRealtime(cmd)
-
- // 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"})
- }
- */
-}