add test app

This commit is contained in:
Jeff Carr 2024-12-01 12:53:46 -06:00
parent f24d8131c3
commit fd3b806b4a
5 changed files with 115 additions and 0 deletions

1
.gitignore vendored
View File

@ -3,3 +3,4 @@ go.*
*.pb.go
scanGoSrc/scanGoSrc
validate/validate

View File

@ -67,6 +67,9 @@ func (repo *Repo) GitDevelVersion() string {
func (repo *Repo) GitUserVersion() string {
bname := repo.GetUserBranchName()
if bname != "jcarr" {
panic("not jcarr bname =" + bname)
}
v, err := repo.gitVersionByName(bname)
if err == nil {
return v

20
validate/Makefile Normal file
View File

@ -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

41
validate/argv.go Normal file
View File

@ -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)
}
}

50
validate/main.go Normal file
View File

@ -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)
}