From 2f33fc86488202b4df04e94da9fff29bbf079103 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Mon, 2 Dec 2024 05:11:44 -0600 Subject: add testGui example Signed-off-by: Jeff Carr --- testGui/main.go | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 testGui/main.go (limited to 'testGui/main.go') diff --git a/testGui/main.go b/testGui/main.go new file mode 100644 index 0000000..ddfa433 --- /dev/null +++ b/testGui/main.go @@ -0,0 +1,103 @@ +package main + +import ( + "fmt" + "os" + + "go.wit.com/log" + + "go.wit.com/gui" + "go.wit.com/lib/gui/repolist" + "go.wit.com/lib/protobuf/forgepb" +) + +// sent via -ldflags +var VERSION string +var BUILDTIME string + +func main() { + me = new(autoType) + + // load the ~/.config/forge/ config + me.forge = forgepb.Init() + me.forge.ConfigPrintTable() + + // setup the GUI + me.myGui = gui.New() + me.myGui.Default() + + me.repoList = repolist.Init(me.forge, me.myGui) + me.repoList.Enable() + + failed := make(map[*repolist.RepoRow]string) + versions := make(map[*repolist.RepoRow]string) + + rloop := me.repoList.ReposSortByName() + for rloop.Scan() { + repo := rloop.Repo() + + repotype := repo.RepoType() + if repotype != "binary" { + // we only want to process golang binaries where package == 'main' + // log.Info("skipping repo", repo.GoPath(), repotype) + continue + } + // var cmd []string + var start string + var end string + var alreadyBuilt bool + ver := repo.Status.DebianReleaseVersion() + name := me.forge.DebName(repo.GoPath()) + if me.forge.Machine.IsInstalled(name) { + end += "(installed) " + } + if actualp := me.forge.Machine.FindVersion(name, ver); actualp != nil { + end += " (version match) " + actualp.Version + " " + ver + " " + alreadyBuilt = true + } else { + end += " (need to build) " + ver + " " + } + + if alreadyBuilt { + start = fmt.Sprintf("already built %-30s %-8s %-50s", name, ver, repo.GoPath()) + } else { + start = fmt.Sprintf("need to build %-30s %-8s %-50s", name, ver, repo.GoPath()) + } + log.Info(start, "("+versions[repo]+")", end) + if name == "" { + // err := fmt.Sprintf("name is blank error %+v", repo) + log.Warn("name is blank error", repo.GoPath()) + } + + if argv.DryRun { + continue + } + + // skip if already built. (unless --force) + if alreadyBuilt { + // don't rebuild things + if argv.Force { + // well, okay, force me to rebuild them then + } else { + continue + } + } + + if repo.Status.IsPrivate() { + // cmd = []string{"go-deb", "--auto", "--repo", repo.GoPath()} + } else { + + } + } + log.Info("") + log.Info("something failed on:") + var fail bool = true + for repo, cmd := range failed { + log.Info("failed cmd :", cmd, repo.Status.Path()) + fail = false + } + if fail { + os.Exit(0) + } + os.Exit(-1) +} -- cgit v1.2.3