diff options
| author | Jeff Carr <[email protected]> | 2025-10-15 07:35:33 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-15 07:35:33 -0500 |
| commit | afe872481be98d8cc13c0c0d435ddcc12c3a0ffb (patch) | |
| tree | 0cbbe70ea57f2b3bf7f1034ba183a7abc7b4c818 | |
| parent | 99aef6a8935243a81058b69578c7e702474c1438 (diff) | |
start fixing auto rebuild
| -rw-r--r-- | doDev.go | 2 | ||||
| -rw-r--r-- | doDownloadForge.go | 92 | ||||
| -rw-r--r-- | windowHowto.go | 63 |
3 files changed, 94 insertions, 63 deletions
@@ -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"}) - } - */ -} |
