package main import ( "fmt" "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() dlen := repo.GoDepsLen() plen := repo.PublishedLen() var ds, ps string if dlen == 0 { ds = "" } else { ds = fmt.Sprintf("%2d", dlen) } if plen == 0 { ps = "" } else { ps = fmt.Sprintf("%2d", plen) } log.Printf("repo: %-60s %-10s %-8s %-8s %s %s\n", fullpath, mName, dName, uName, ds, ps) /* if repo.GoDepsChanged() { log.Printf("\tdependancy checks indicate a new release is needed for %s\n", repo.GetGoPath()) } else { log.Printf("\tdependancies have not changed for %s\n", repo.GetGoPath()) } */ } goclone := forge.Repos.FindByGoPath("go.wit.com/apps/go-clone") if goclone == nil { log.Info("boo, you didn't git go-clone?") os.Exit(-1) } match, err := forge.Repos.GoDepsChanged(goclone) if err != nil { log.Info("dependancy checks failed", goclone.GetGoPath(), err) os.Exit(-1) } if match { log.Printf("dependancy checks indicate a new release is needed for %s\n", goclone.GetGoPath()) } else { log.Printf("dependancies have not changed for %s\n", goclone.GetGoPath()) } if argv.SaveConfig { forge.Repos.ConfigSave() } os.Exit(0) }