summaryrefslogtreecommitdiff
path: root/init.go
diff options
context:
space:
mode:
Diffstat (limited to 'init.go')
-rw-r--r--init.go26
1 files changed, 12 insertions, 14 deletions
diff --git a/init.go b/init.go
index b8b8498..1a8384b 100644
--- a/init.go
+++ b/init.go
@@ -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