diff options
| author | Jeff Carr <[email protected]> | 2025-10-20 13:21:03 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-20 13:21:03 -0500 |
| commit | 69b5038c58e6a8487f22aeaf28eddec5c785c283 (patch) | |
| tree | 72b9910c32a803d8c7f3bffc0f5d7175516d39b0 /Save.go | |
| parent | 2ecc340541f88d4c1cbe437efe79a6fcfdbf5499 (diff) | |
probably better. notsure
Diffstat (limited to 'Save.go')
| -rw-r--r-- | Save.go | 58 |
1 files changed, 58 insertions, 0 deletions
@@ -0,0 +1,58 @@ +// Copyright 2025 WIT.COM Inc Licensed GPL 3.0 + +package forgepb + +import ( + "go.wit.com/lib/config" + "go.wit.com/lib/protobuf/argvpb" + "go.wit.com/log" +) + +func (f *Forge) Save() error { + var err error + if f.Config == nil { + return log.Errorf("forge.Config == nil") + } + + // THIS IS NOT RIGHT ANYMORE ? + if !config.HasChanged("forge") { + return nil + } + + // MOVE THIS TO /lib/config ? + if !(argvpb.GetAPPNAME() == "forge" || argvpb.GetAPPNAME() == "guireleaser") { + log.Info("This is not forge") + return log.Errorf("Only forge can save the forge config file") + } + + // migrate from the old gopath to "namespace" + for fc := range f.Config.IterAll() { + if fc.Namespace != "" { + continue + } + if fc.Namespace != fc.GoPath { + fc.Namespace = fc.GoPath + } + // todo: deprecate this + fc.GoPath = "" // I want to do this but it might be a bad idea at this point + } + log.Info("Okay, this is", argvpb.GetAPPNAME()) + + err = f.Config.ConfigSave() + if err != nil { + log.Info("forge.Config.ConfigSave() error", err) + return err + } + + if argvpb.Verbose() { + err = f.Repos.SaveVerbose() + } else { + err = f.Repos.Save() + } + + if err != nil { + log.Info("forge.Repos.Save() error", err) + return err + } + return nil +} |
