package main // An app to submit patches for the 30 GO GUI repos import ( "os" "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) // 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.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() } } func sendDevelDiff() { pset, err := me.forge.MakeDevelPatchSet() if err != nil { badExit(err) } all := pset.SortByFilename() for all.Scan() { p := all.Next() log.Info("read in patch:", p.Filename) } err = me.forge.SendPatchSet(pset) if err != nil { badExit(err) } } func sendMasterDiff() { pset, err := me.forge.MakeMasterPatchSet() if err != nil { badExit(err) } all := pset.SortByFilename() for all.Scan() { p := all.Next() log.Info("read in patch:", p.Filename) } err = me.forge.SendPatchSet(pset) if err != nil { badExit(err) } }