package main // An app to submit patches for the 30 GO GUI repos import ( "os" "strings" "go.wit.com/dev/alexflint/arg" "go.wit.com/lib/protobuf/forgepb" "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" ) // sent via -ldflags var VERSION string var BUILDTIME string // using this for now. triggers config save var configSave bool func main() { me = new(mainType) me.pp = arg.MustParse(&argv) me.urlbase = argv.URL me.urlbase = strings.Trim(me.urlbase, "/") // track down why trailing '/' makes http POST not work // load the ~/.config/forge/ config me.forge = forgepb.Init() me.found = new(gitpb.Repos) // first find the repos or gopaths to operate on if argv.Config { if findConfig() { me.forge.ConfigPrintTable() os.Exit(0) } } else { findRepos() } log.Info("found", me.found.Len(), "repos. found", len(me.foundPaths), "paths from .config/forge") // now, do something to all of them (or just print out a table of them) var done bool = false if argv.DoScan { doScan() done = true } if argv.DoRedoGoMod { doRedoGoMod() done = true } if argv.DoGitPull { doGitPull() done = true } if argv.DoGitReset { doGitReset() done = true } if argv.DoList { // print out the repos doCobol() done = true } if argv.Fix { // print out the repos doFix() done = true } if argv.DoPatchSet { sendDevelDiff() // sendMasterDiff() okExit("patches") } // do the gui at the very end if argv.DoGui { doGui() } if !done { // if nothing was selected, print out a table of them on STDOUT doCobol() } }