summaryrefslogtreecommitdiff
path: root/validate
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-12-01 12:53:46 -0600
committerJeff Carr <[email protected]>2024-12-01 12:53:46 -0600
commitfd3b806b4a1f647103c7ecb417cf1ffced9c4cb1 (patch)
treeafa31f225f924891a67011db8f33abcdea63e0f8 /validate
parentf24d8131c3f995f9c24a37cb5a8e46da840f2eb0 (diff)
add test appv0.0.13
Diffstat (limited to 'validate')
-rw-r--r--validate/Makefile20
-rw-r--r--validate/argv.go41
-rw-r--r--validate/main.go50
3 files changed, 111 insertions, 0 deletions
diff --git a/validate/Makefile b/validate/Makefile
new file mode 100644
index 0000000..24a62b6
--- /dev/null
+++ b/validate/Makefile
@@ -0,0 +1,20 @@
+VERSION = $(shell git describe --tags)
+BUILDTIME = $(shell date +%Y.%m.%d)
+
+build:
+ reset
+ GO111MODULE=off go build \
+ -ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
+ ./validate
+
+goimports:
+ goimports -w *.go
+
+prep:
+ go get -v -t -u
+
+run:
+ go run *.go
+
+clean:
+ -rm -f scanGoSrc
diff --git a/validate/argv.go b/validate/argv.go
new file mode 100644
index 0000000..b4150b4
--- /dev/null
+++ b/validate/argv.go
@@ -0,0 +1,41 @@
+package main
+
+import (
+ "os"
+
+ "go.wit.com/dev/alexflint/arg"
+)
+
+var argv args
+
+type args struct {
+ List bool `arg:"--list" default:"false" help:"list repos in your config"`
+ SaveConfig bool `arg:"--save" default:"false" help:"save your config file at the end"`
+ Interesting bool `arg:"--interesting" default:"false" help:"something you decided was cool"`
+}
+
+func (a args) Description() string {
+ return `
+ forgeConfig -- add entries to your config files
+
+This is just example protobuf code to test forgepb is working
+but it could be used to automagically create a config file too.
+
+If you need to change your config file, just edit the forge.text or forge.json
+files then remove the forge.pb and ConfigLoad() will attempt to load those files instead
+`
+}
+
+func (args) Version() string {
+ return "virtigo " + VERSION
+}
+
+func init() {
+ var pp *arg.Parser
+ pp = arg.MustParse(&argv)
+
+ if pp == nil {
+ pp.WriteHelp(os.Stdout)
+ os.Exit(0)
+ }
+}
diff --git a/validate/main.go b/validate/main.go
new file mode 100644
index 0000000..da709e0
--- /dev/null
+++ b/validate/main.go
@@ -0,0 +1,50 @@
+package main
+
+import (
+ "os"
+
+ "go.wit.com/dev/alexflint/arg"
+ "go.wit.com/gui"
+ "go.wit.com/lib/gui/repolist"
+ "go.wit.com/lib/protobuf/forgepb"
+ "go.wit.com/lib/protobuf/gitpb"
+ "go.wit.com/log"
+)
+
+// sent via ldflags
+var VERSION string
+
+var pp *arg.Parser
+var forge *forgepb.Forge
+var myGui *gui.Node
+var rv *repolist.RepoList
+var argvRepo *gitpb.Repo
+
+func main() {
+ pp = arg.MustParse(&argv)
+
+ // load the ~/.config/forge/ config
+ forge = forgepb.Init()
+ // forge.ConfigPrintTable()
+ os.Setenv("REPO_WORK_PATH", forge.GetGoSrc())
+
+ myGui = gui.New()
+ myGui.Default()
+
+ repos := forge.Repos.SortByGoPath()
+ for repos.Scan() {
+ repo := repos.Next()
+ forge.VerifyBranchNames(repo)
+ fullpath := repo.GetFullPath()
+ mName := repo.GetMasterBranchName()
+ dName := repo.GetDevelBranchName()
+ uName := repo.GetUserBranchName()
+ log.Printf("repo: %-60s %-8s %-8s %-8s\n", fullpath, mName, dName, uName)
+ }
+
+ if argv.SaveConfig {
+ forge.Repos.ConfigSave()
+ }
+
+ os.Exit(0)
+}