package forgepb import ( "os" "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" ) // set FORGE_GOSRC env if not already set func init() { gosrc := os.Getenv("FORGE_GOSRC") if gosrc != "" { // already set. ignore init() } goSrcDir, err := FindGoSrc() if err != nil { log.Warn("forge init() FindGoSrc()", err) panic("forge init() FindGoSrc()") } os.Setenv("FORGE_GOSRC", goSrcDir) } func (f *Forge) Init() { if f == nil { f = new(Forge) } if f.Config == nil { f.Config = new(ForgeConfigs) } // load the ~/.config/forge/ config if err := f.Config.ConfigLoad(); err != nil { log.Warn("forgepb.ConfigLoad() failed", err) os.Exit(-1) } if f.Repos == nil { f.Repos = new(gitpb.Repos) } f.goSrc = os.Getenv("FORGE_GOSRC") f.ScanGoSrc() } func (f *Forge) SortByPath() *ForgeConfigIterator { return f.Config.SortByPath() }