summaryrefslogtreecommitdiff
path: root/structs.go
blob: 077bba99d04e93277297b19c76b0ce6484acf620 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// watch all your go git repos
package main

import (
	"go.wit.com/gui"
	"go.wit.com/lib/gadgets"
	"go.wit.com/lib/gui/repostatus"
)

// the main window nodes
var reposwin *gadgets.BasicWindow
var reposbox *gui.Node
var reposgrid *gui.Node
var reposgroup *gui.Node

var me *repoType

type repoType struct {
	script   [][]string
	allrepos map[*repo]string
	myGui    *gui.Node

	autotypistWindow *gadgets.BasicWindow

	// #### autotypist Global Display Options
	autoHidePerfect *gui.Node

	// #### autotypist Global Build Options
	// what to change all the branches to
	// so, as a developer, you can move all the repos
	// to the 'devel' branch and then test a devel branch build
	// then switch back to your 'username' branch and do a build there
	toMoveToBranch string

	// displays the preferred names used for the repo tree state
	mainBranch  *gadgets.BasicCombobox
	develBranch *gadgets.BasicCombobox
	userBranch  *gadgets.BasicCombobox

	// this button will regenerate everyones go.mod & go.sum
	rerunGoMod *gui.Node

	// if checked, will stop trying to os.Exec() things after failure
	stopOnErrors *gui.Node

	autoRebuildButton *gui.Node // button to attempt to autorebuild
}

var cmds *gui.Node
var doit *gui.Node
var dryrun *gui.Node

type repo struct {
	hidden     bool
	path       string
	lasttagrev string
	lasttag    string
	// tags []string

	pLabel *gui.Node // path label
	// bLabel *gui.Node // branch label
	lastTag *gui.Node // last tagged version label
	vLabel  *gui.Node // version label
	// tagsDrop *gui.Node // list of all tags
	dirtyLabel *gui.Node // git state (dirty or not?)

	// masterName    *gui.Node // the master branch name
	masterVersion *gui.Node // the master branch version
	// develName     *gui.Node // the devel branch name
	develVersion *gui.Node // the devel branch version
	// userName      *gui.Node // the jcarr branch name
	userVersion *gui.Node // the jcarr branch version

	cButton    *gui.Node // commit button
	pButton    *gui.Node // push button
	showButton *gui.Node // the button!

	status *repostatus.RepoStatus
}