diff options
| -rw-r--r-- | Load.go | 29 | ||||
| -rw-r--r-- | init.go | 11 |
2 files changed, 24 insertions, 16 deletions
@@ -11,6 +11,7 @@ package forgepb import ( "errors" + "os" "go.wit.com/lib/ENV" "go.wit.com/lib/config" @@ -60,24 +61,24 @@ func (f *Forge) reposCacheLoad() error { return err } -/* -func (f *Forge) loadPatchsets() error { - f.Patchsets = NewSets() - - data, err := os.ReadFile(config.Get("PatchPB")) - if err != nil { - return err +func (f *Forge) patchesCacheLoad() error { + if f.Patches != nil { + return errors.New("already loaded") + } + f.Patches = NewPatches() + err := config.LoadAppnameCache(f.Patches, "forge") + if errors.Is(err, os.ErrNotExist) { + // is a new file + f.Patches.Save() + return os.ErrNotExist } - - err = f.Patchsets.Unmarshal(data) if err != nil { - log.Infof("LoadPatchsets() proto.Marshal() error %v\n", err) - return err + log.Printf("patchesCacheLoad() failed err (%v) filename (%s)\n", err, f.Patches.Filename) + panic("failed to load patches") } - // log.Infof("LoadPatchsets() found %d patches.\n", f.Patchsets.Len()) - return nil + ENV.SetGlobal("lib/forgepb", "PatchesPB", f.Patches.Filename) + return err } -*/ func makeDefaultConfig() (*ForgeConfigs, error) { cfg := NewForgeConfigs() @@ -66,14 +66,14 @@ func (f *Forge) postInit() error { // always define if ENV.Get("username") == "" { usr, _ := user.Current() - ENV.Set("username", usr.Username) + ENV.SetGlobal("lib/forgepb", "username", usr.Username) ENV.Save() } // always define if ENV.Get("homeDir") == "" { homeDir, _ := os.UserHomeDir() - ENV.Set("homeDir", homeDir) + ENV.SetGlobal("lib/forgepb", "homeDir", homeDir) ENV.Save() } @@ -113,5 +113,12 @@ func (f *Forge) postInit() error { log.Printf("forge failed to load %s file with len(%d) repos err=(%v)\n", f.Repos.Filename, f.Repos.Len(), err) panic("failed to load repos.pb") } + err = f.patchesCacheLoad() // loads the file from ~/.cache/forge/patches.pb + if err == nil { + // log.Printf("forge loaded %s file with len(%d) repos\n", f.Repos.Filename, f.Repos.Len()) + } else { + log.Printf("forge failed to load %s file with len(%d) patches err=(%v)\n", f.Patches.Filename, f.Patches.Len(), err) + panic("failed to load repos.pb") + } return err } |
