// 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"}) } */ }