summaryrefslogtreecommitdiff
path: root/config.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-20 13:21:03 -0500
committerJeff Carr <[email protected]>2025-10-20 13:21:03 -0500
commit69b5038c58e6a8487f22aeaf28eddec5c785c283 (patch)
tree72b9910c32a803d8c7f3bffc0f5d7175516d39b0 /config.go
parent2ecc340541f88d4c1cbe437efe79a6fcfdbf5499 (diff)
probably better. notsure
Diffstat (limited to 'config.go')
-rw-r--r--config.go85
1 files changed, 25 insertions, 60 deletions
diff --git a/config.go b/config.go
index f3b5f05..ea55f25 100644
--- a/config.go
+++ b/config.go
@@ -6,7 +6,6 @@ import (
"errors"
"os"
"os/user"
- "path/filepath"
"go.wit.com/lib/config"
"go.wit.com/lib/protobuf/argvpb"
@@ -51,16 +50,18 @@ func (f *Forge) ConfigSave() error {
}
func (f *Forge) SaveRepos() error {
- return f.Repos.ConfigSave(f.Config.ReposPB)
+ if argvpb.Verbose() {
+ return f.Repos.SaveVerbose()
+ }
+ return f.Repos.Save()
}
func (f *Forge) SetMode(newmode ForgeMode) error {
- if f.Config.Mode == newmode {
+ if f.Mode == newmode {
// nothing changed
return nil
}
- f.Config.Mode = newmode
- err := f.Config.SaveVerbose()
+ err := config.Set("mode", string(newmode))
return err
}
@@ -83,37 +84,24 @@ func (cfg *ForgeConfigs) ConfigSave() error {
return config.ConfigSaveWithHeader(cfg, header)
}
-func (cfg *ForgeConfigs) DumpENV() {
- log.Info("s/DumpENV/DumpPB/")
- cfg.DumpPB()
-}
-
-func (cfg *ForgeConfigs) DumpPB() {
- log.Infof("Config.Filename = %s\n", cfg.Filename)
- log.Infof("Config.ReposPB = %s\n", cfg.ReposPB)
- log.Infof("Config.ReposDir = %s\n", cfg.ReposDir)
- log.Infof("Config.PatchPB = %s\n", cfg.PatchPB)
- log.Infof("Config.ForgeURL = %s\n", cfg.ForgeURL)
- if cfg.GoWork {
- log.Infof("Config.GoWork = %v\n", cfg.GoWork)
+func (f *Forge) DumpENV() {
+ if f.Repos == nil {
+ log.Infof("forge ReposPB = <nil>\n")
+ } else {
+ log.Infof("forge ReposPB = %s\n", f.Repos.Filename)
}
- // log.Infof("ConfigCfgPB.Hostname=%s\n", cfg.Hostname)
+ log.Infof("forge PatchPB = %s\n", f.Patches.Filename)
+ DumpENV()
}
-/*
- if f.Config.Xterm == "" {
- f.Config.Xterm = "xterm"
- f.Config.XtermArgv = append(f.Config.XtermArgv, "-bg")
- f.Config.XtermArgv = append(f.Config.XtermArgv, "black")
- f.Config.XtermArgv = append(f.Config.XtermArgv, "-fg")
- f.Config.XtermArgv = append(f.Config.XtermArgv, "white")
- f.SetConfigSave(true)
- }
-*/
+func DumpENV() {
+ log.Infof("forge ReposDir = %s\n", config.Get("ReposDir"))
+ log.Infof("forge ForgeURL = %s\n", config.Get("ForgeURL"))
+}
-func LoadStdConfig() (*ForgeConfigs, error) {
+func loadStdConfig() (*ForgeConfigs, error) {
cfg := NewForgeConfigs()
- err := config.ConfigLoad(cfg, "forge", "forge")
+ err := cfg.loadConfig()
// todo: do something here with this error?
// right now, handled in forge
@@ -129,48 +117,25 @@ func LoadStdConfig() (*ForgeConfigs, error) {
} else {
log.Info("some other bad problem err=", err)
}
-
- if cfg.Filename == "" {
- panic("lib/config broken. filename is blank")
- }
-
return cfg, nil
}
-func MakeDefaultConfig() (*ForgeConfigs, error) {
+func makeDefaultConfig() (*ForgeConfigs, error) {
cfg := NewForgeConfigs()
// Get fullpath to ~/.config/forge/forge.text
- cfg.Filename = config.GetConfigFilename("forge", "forge")
+ cfg.loadConfig()
usr, _ := user.Current()
- cfg.Username = usr.Username
+ config.Set("username", usr.Username)
homeDir, _ := os.UserHomeDir()
-
- cfgdir := filepath.Join(homeDir, ".config/forge")
- cfg.HomeDir = cfgdir
- os.MkdirAll(cfgdir, 0755)
-
- cfg.ReposPB = filepath.Join(cfgdir, "repos.pb")
- cfg.PatchPB = filepath.Join(cfgdir, "patches.pb")
- cfg.ForgeURL = "http://forge.wit.com/"
-
- cfg.ReposDir = filepath.Join(homeDir, "go/src") // todo: check working directory
- os.MkdirAll(cfg.ReposDir, 0755)
-
- // try new idea using lib/config
- config.Set("Username", usr.Username)
- config.Set("HomeDir", cfgdir)
- config.Set("ReposPB", filepath.Join(cfgdir, "repos.pb"))
- config.Set("PatchPB", filepath.Join(cfgdir, "patches.pb"))
- config.Set("ForgeURL", "https://forge.grid.wit.com/")
- config.Set("ReposDir", filepath.Join(homeDir, "go/src"))
+ config.Set("homedir", homeDir)
cfg.addSampleConfigs()
- cfg.DumpENV()
+ DumpENV()
config.SetChanged("forge", true)
var err error
- if err = cfg.ConfigSave(); err != nil {
+ if err = cfg.SaveVerbose(); err != nil {
log.Info("config save error:", err)
}
return cfg, err