summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.go6
-rw-r--r--forgeConfig.SaveVerbose.go3
-rw-r--r--init.go22
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 = <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
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)
}