summaryrefslogtreecommitdiff
path: root/testGui/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'testGui/main.go')
-rw-r--r--testGui/main.go103
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)
+}