// Copyright 2025 WIT.COM Inc Licensed GPL 3.0 package forgepb import ( "go.wit.com/lib/ENV" "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 ENV.Verbose() { err = f.Repos.SaveVerbose() } else { err = f.Repos.Save() } if err != nil { log.Info("forge.Repos.Save() error", err) return err } return nil }