93 lines
2.5 KiB
Go
93 lines
2.5 KiB
Go
// Copyright 2025 WIT.COM Inc Licensed GPL 3.0
|
|
|
|
package forgepb
|
|
|
|
import (
|
|
"os"
|
|
|
|
"go.wit.com/lib/config"
|
|
"go.wit.com/lib/gui/prep"
|
|
"go.wit.com/log"
|
|
)
|
|
|
|
// 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 e := f.Config.ConfigSave(); e != nil {
|
|
log.Info("forge.Config.ConfigSave() error", e)
|
|
err = e
|
|
}
|
|
}
|
|
return err
|
|
}
|
|
|
|
// functions to import and export the protobuf
|
|
// data to and from config files
|
|
|
|
// write to ~/.config/forge/
|
|
func (cfg *ForgeConfigs) ConfigSave() error {
|
|
var header string
|
|
header += "\n"
|
|
header += "# the forge config file\n"
|
|
header += "# You can customize things like:\n"
|
|
header += "#\n"
|
|
header += "# * which repos you have write access to\n"
|
|
header += "# * custom branch names for 'master', 'devel' and 'user'\n"
|
|
header += "# * 'favorites' so you can remember which things you like\n"
|
|
header += "# * sometimes protobuf TEXT can fail so as a backup this also creates a .json file\n"
|
|
header += "#\n"
|
|
header += "\n"
|
|
return config.ConfigSaveWithHeader(cfg, header)
|
|
}
|
|
|
|
func (cfg *ForgeConfigs) DumpENV() {
|
|
log.Infof("CfgPB.Filename = %s\n", cfg.Filename)
|
|
log.Infof("CfgPB.ReposPB = %s\n", cfg.ReposPB)
|
|
log.Infof("CfgPB.ReposDir = %s\n", cfg.ReposDir)
|
|
log.Infof("CfgPB.PatchDir = %s\n", cfg.PatchDir)
|
|
log.Infof("CfgPB.ForgeURL = %s\n", cfg.ForgeURL)
|
|
if cfg.GoWork {
|
|
log.Infof("CfgPB.GoWork = %v\n", cfg.GoWork)
|
|
}
|
|
log.Infof("CfgPB.Mode = %s\n", cfg.Mode)
|
|
// log.Infof("CfgPB.Hostname=%s\n", cfg.Hostname)
|
|
|
|
if cfg.ReposPB != os.Getenv("FORGE_REPOSPB") {
|
|
log.Infof("CfgPB file problem: cfg.ReposPB=%s != FORGE_REPOSPB=%s\n", cfg.ReposPB, os.Getenv("FORGE_REPOSPB"))
|
|
}
|
|
}
|
|
|
|
/*
|
|
if f.Config.Username == "" {
|
|
usr, _ := user.Current()
|
|
f.Config.Username = usr.Username
|
|
f.SetConfigSave(true)
|
|
}
|
|
|
|
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 (cfg *ForgeConfigs) InitDefaults() {
|
|
}
|