diff options
| author | Jeff Carr <[email protected]> | 2024-12-02 05:11:44 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-12-02 05:11:44 -0600 |
| commit | 2f33fc86488202b4df04e94da9fff29bbf079103 (patch) | |
| tree | 51a830bbef342a45ba15af7529d57ea9a19f779d /testGui/main.go | |
| parent | 9d95b189135422a720cb00f8b0ca8546e7fdc9b5 (diff) | |
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'testGui/main.go')
| -rw-r--r-- | testGui/main.go | 103 |
1 files changed, 103 insertions, 0 deletions
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) +} |
