summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Load.go29
-rw-r--r--init.go11
2 files changed, 24 insertions, 16 deletions
diff --git a/Load.go b/Load.go
index 8a5118f..b6ffdd3 100644
--- a/Load.go
+++ b/Load.go
@@ -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()
diff --git a/init.go b/init.go
index 10f905b..c755466 100644
--- a/init.go
+++ b/init.go
@@ -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
}