From d7309a78203a1b6219db51cb6c4d6f1eaa47deec Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Tue, 21 Oct 2025 07:52:15 -0500 Subject: use smater funcs() --- config.go | 6 +++++- forgeConfig.SaveVerbose.go | 3 ++- init.go | 22 +++++++++++++++------- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/config.go b/config.go index b7b289f..bcf437f 100644 --- a/config.go +++ b/config.go @@ -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 = \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 diff --git a/init.go b/init.go index bdf0469..f9b82c4 100644 --- a/init.go +++ b/init.go @@ -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) } -- cgit v1.2.3