summaryrefslogtreecommitdiff
path: root/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'config.go')
-rw-r--r--config.go40
1 files changed, 24 insertions, 16 deletions
diff --git a/config.go b/config.go
index 0820a1e..88142bc 100644
--- a/config.go
+++ b/config.go
@@ -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
}