diff options
Diffstat (limited to 'config.go')
| -rw-r--r-- | config.go | 40 |
1 files changed, 24 insertions, 16 deletions
@@ -16,27 +16,27 @@ import ( // returns err1 || err2 func (f *Forge) ConfigSave() error { - var err error - if f.Config == nil { return log.Errorf("forge.Config == nil") } - if config.HasChanged("forge") { - // only let forge save the config files (?) - if prep.AppName() == "forge" || prep.AppName() == "guireleaser" { - log.Info("Okay, this is", prep.AppName()) - } else { - log.Info("This is not forge") - return log.Errorf("Only forge can save the config files") - } + if !config.HasChanged("forge") { + return log.Errorf("didn't save. no changes were made") + } + + // only let forge edit & save the config files + // inforce this in lib config? + if !(prep.AppName() == "forge" || prep.AppName() == "guireleaser") { + log.Info("This is not forge") + return log.Errorf("Only forge can save the forge config file") + } + log.Info("Okay, this is", prep.AppName()) - if e := f.Config.ConfigSave(); e != nil { - log.Info("forge.Config.ConfigSave() error", e) - err = e - } + if err := f.Config.ConfigSave(); err != nil { + log.Info("forge.Config.ConfigSave() error", err) + return err } - return err + return nil } func (f *Forge) SaveRepos() error { @@ -92,6 +92,10 @@ func loadStdConfig() *ForgeConfigs { cfg := NewForgeConfigs() err := config.ConfigLoad(cfg, "forge", "forge") + if cfg.Filename == "" { + panic("wtf filename blank") + } + if err == nil { return cfg } @@ -124,9 +128,13 @@ func loadStdConfig() *ForgeConfigs { cfg.ForgeURL = "http://forge.wit.com/" cfg.DumpENV() + config.SetChanged("forge", true) if !fhelp.QuestionUser("This is your first time using forge, use these default values?") { os.Exit(-1) } - cfg.ConfigSave() + if err := cfg.ConfigSave(); err != nil { + log.Info("config save error:", err) + os.Exit(-1) + } return cfg } |
