diff options
Diffstat (limited to 'init.go')
| -rw-r--r-- | init.go | 26 |
1 files changed, 12 insertions, 14 deletions
@@ -8,22 +8,21 @@ import ( "go.wit.com/log" ) -// set FORGE_GOSRC env if not already set -func init() { +func Init() *Forge { + f := new(Forge) + + // TODO: rethink this but it works for now gosrc := os.Getenv("FORGE_GOSRC") - if gosrc != "" { + if gosrc == "" { // already set. ignore init() + goSrcDir, err := f.findGoSrc() + if err != nil { + log.Warn("forge init() findGoSrc()", err) + panic("forge init() findGoSrc()") + } + os.Setenv("FORGE_GOSRC", goSrcDir) } - goSrcDir, err := FindGoSrc() - if err != nil { - log.Warn("forge init() FindGoSrc()", err) - panic("forge init() FindGoSrc()") - } - os.Setenv("FORGE_GOSRC", goSrcDir) -} - -func Init() *Forge { - f := new(Forge) + f.goSrc = os.Getenv("FORGE_GOSRC") // cache.go has Do() // f.initOnce.Do(f.initWork) @@ -46,7 +45,6 @@ func Init() *Forge { } f.Machine.InitWit() - f.goSrc = os.Getenv("FORGE_GOSRC") f.ScanGoSrc() log.Info("forge.Init() found", f.Repos.Len(), "repos in", f.goSrc) return f |
