diff options
| -rw-r--r-- | config.go | 6 | ||||
| -rw-r--r-- | forgeConfig.SaveVerbose.go | 3 | ||||
| -rw-r--r-- | init.go | 22 |
3 files changed, 22 insertions, 9 deletions
@@ -98,7 +98,11 @@ func (f *Forge) DumpENV() { } else { log.Infof("forge ReposPB = %s\n", f.Repos.Filename) } - log.Infof("forge PatchPB = %s\n", f.Patches.Filename) + if f.Patches == nil { + log.Infof("forge PatchPB = <nil>\n") + } else { + log.Infof("forge PatchPB = %s\n", f.Patches.Filename) + } DumpENV() } diff --git a/forgeConfig.SaveVerbose.go b/forgeConfig.SaveVerbose.go index e0ed688..580ad71 100644 --- a/forgeConfig.SaveVerbose.go +++ b/forgeConfig.SaveVerbose.go @@ -25,9 +25,10 @@ func (pb *ForgeConfigs) SaveVerbose() error { } func (pb *ForgeConfigs) loadConfig() error { - filename, err := config.ConfigLoadByName(pb, "forge") + filename, err := config.LoadByAppName(pb, "forge", "forge") if err != nil { log.Info("couldn't load filename:", filename) + log.Info("forge has not been configured") panic("config failed to load. make a new/blank forge config here?") } // init new config here @@ -3,6 +3,7 @@ package forgepb import ( + "errors" "os" "os/user" "path/filepath" @@ -73,8 +74,7 @@ func initFromConfig(cfg *ForgeConfigs) *Forge { // always define if ENV.Get("gopath") == "" { gopath := filepath.Join(ENV.Get("homedir"), "go/src") - ENV.Set("gopath", gopath) - ENV.Save() + ENV.SetGlobal("lib/forgepb", "gopath", gopath) } // always set f.mode @@ -91,18 +91,16 @@ func initFromConfig(cfg *ForgeConfigs) *Forge { // todo: play with these / determine good values based on user's machine if cobol.Int(ENV.Get("RillX")) == 0 { - ENV.Set("RillX", "10") - ENV.Save() + ENV.SetGlobal("lib/forgepb", "RillX", "10") } if cobol.Int(ENV.Get("RillY")) == 0 { - ENV.Set("RillY", "20") + ENV.SetGlobal("lib/forgepb", "RillY", "20") ENV.Save() } // create an initial repos.pb file // panic() here? // warning? // (probably not. it's just the repos.pb cache file - f.Repos = gitpb.NewRepos() - err := f.Repos.CacheLoad() // loads the file from ~/.cache/forge/repos.pb + err := f.reposCacheLoad() // loads the file from ~/.cache/forge/repos.pb if err == nil { log.Printf("forge loaded %s file with len(%d) repos\n", f.Repos.Filename, f.Repos.Len()) } else { @@ -112,6 +110,16 @@ func initFromConfig(cfg *ForgeConfigs) *Forge { return f } +func (f *Forge) reposCacheLoad() error { + if f.Repos != nil { + return errors.New("already loaded") + } + f.Repos = gitpb.NewRepos() + err := config.LoadAppnameCache(f.Repos, "forge") + ENV.SetGlobal("lib/forgepb", "ReposPB", f.Repos.Filename) + return err +} + func (f *Forge) SetConfigSave(b bool) { config.SetChanged("forge", b) } |
