summaryrefslogtreecommitdiff
path: root/globalBuildOptions.go
diff options
context:
space:
mode:
Diffstat (limited to 'globalBuildOptions.go')
-rw-r--r--globalBuildOptions.go121
1 files changed, 121 insertions, 0 deletions
diff --git a/globalBuildOptions.go b/globalBuildOptions.go
new file mode 100644
index 0000000..b8bf594
--- /dev/null
+++ b/globalBuildOptions.go
@@ -0,0 +1,121 @@
+// This is a simple example
+package main
+
+import (
+ "os"
+ "strings"
+
+ "go.wit.com/log"
+
+ "go.wit.com/gui/gui"
+ "go.wit.com/gui/gadgets"
+)
+
+func doesExist(path string) bool {
+ if _, err := os.Stat(path); err != nil {
+ if os.IsNotExist(err) {
+ return false
+ }
+ }
+ return true
+}
+
+func globalBuildOptions(box *gui.Node) {
+ var setCurrentBranch *gui.Node
+ group1 := box.NewGroup("Global Build Options")
+ groupvbox := group1.NewBox("bw vbox", false)
+ // grouphbox := groupvbox.NewBox("bw hbox", true)
+
+ grid := groupvbox.NewGrid("buildOptions",2, 1)
+
+ me.mainBranch = gadgets.NewBasicCombobox(grid, "default main branch")
+ me.mainBranch.Add("guimain")
+ me.mainBranch.Add("gitea server default")
+ me.mainBranch.Disable()
+
+ me.develBranch = gadgets.NewBasicCombobox(grid, "default devel branch")
+ me.develBranch.Add("devel")
+
+ me.userBranch = gadgets.NewBasicCombobox(grid, "default user branch")
+ me.userBranch.Add("jcarr")
+
+ // select the branch you want to test, build and develop against
+ // this lets you select your user branch, but, when you are happy
+ // you can merge everything into the devel branch and make sure it actually
+ // works. Then, when that is good, merge and version everything in master
+ guiBranch := gadgets.NewBasicCombobox(grid, "Set Current Working Branch")
+ guiBranch.Add("guimaster")
+ guiBranch.Add("guidevel")
+ guiBranch.Add("jcarr")
+ guiBranch.Custom = func () {
+ me.toMoveToBranch = guiBranch.Get()
+ setCurrentBranch.Set("set all branches to " + me.toMoveToBranch)
+ me.mainBranch.Disable()
+ }
+
+ setCurrentBranch = groupvbox.NewButton("set all branches to", func () {
+ for _, repo := range allrepos {
+ var changeBranch [][]string
+ // realname, realversion := repo.status.CheckoutBranch(me.toMoveToBranch)
+ // log.Warn("GOT", realname, realversion)
+ path := repo.status.GetPath()
+ changeBranch = append(changeBranch, []string{"cd", "go/src/" + path})
+ changeBranch = append(changeBranch, []string{"git", "checkout", me.toMoveToBranch})
+ me.script = changeBranch
+ setGitCommands()
+ goMake("--doit")
+ return
+ }
+ })
+ var everything *gui.Node
+ everything = groupvbox.NewButton("go get everything on go.wit.com", func () {
+ var perfect bool = true
+ var newCmds [][]string
+ // usr, _ := user.Current()
+ newCmds = append(newCmds, []string{"cd", "go/src/gui/app/myrepos"})
+ repos := myrepolist()
+ for _, line := range repos {
+ log.Warn("repo =", line)
+ path, _, _, _ := splitLine(line)
+ path = strings.TrimSpace(path)
+ if path == "#" {
+ // skip comment lines
+ continue
+ }
+ if doesExist("/home/jcarr/go/src/" + path) {
+ continue
+ }
+ newCmds = append(newCmds, []string{"go", "get", "-v", path})
+ perfect = false
+ }
+
+ if perfect {
+ var notes [][]string
+ notes = append(notes, []string{"you have already downloaded"})
+ notes = append(notes, []string{"everything on go.wit.com"})
+ me.script = notes
+ setGitCommands()
+ doit.Disable()
+ everything.Disable()
+ return
+ }
+
+ me.script = newCmds
+ doit.Enable()
+ setGitCommands()
+ })
+ groupvbox.NewButton("build all apps", func () {
+ })
+
+ groupvbox.NewButton("status.Update() all", func () {
+ for _, repo := range allrepos {
+ repo.status.Update()
+ }
+ })
+
+ groupvbox.NewButton("rescan all", func () {
+ for _, repo := range allrepos {
+ repo.newScan()
+ }
+ })
+}