mirror of
https://github.com/chenasraf/sofmani.git
synced 2026-05-17 17:28:04 +00:00
refactor: clean up version loading
This commit is contained in:
@@ -142,7 +142,7 @@ func ContainsPlatform(platforms *[]Platform, platform Platform) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func ParseConfig(version string, overrides *AppCliConfig) (*AppConfig, error) {
|
||||
func ParseConfig(overrides *AppCliConfig) (*AppConfig, error) {
|
||||
file := overrides.ConfigFile
|
||||
ext := filepath.Ext(file)
|
||||
switch ext {
|
||||
@@ -198,7 +198,13 @@ func tryConfigDir(dir string) string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func ParseCliConfig(version string) *AppCliConfig {
|
||||
var AppVersion string
|
||||
|
||||
func SetVersion(v string) {
|
||||
AppVersion = v
|
||||
}
|
||||
|
||||
func ParseCliConfig() *AppCliConfig {
|
||||
args := os.Args[1:]
|
||||
config := &AppCliConfig{}
|
||||
file := FindConfigFile()
|
||||
@@ -227,7 +233,7 @@ func ParseCliConfig(version string) *AppCliConfig {
|
||||
fmt.Println("For online documentation, see https://github.com/chenasraf/sofmani/tree/master/docs")
|
||||
os.Exit(0)
|
||||
case "-v", "--version":
|
||||
fmt.Println(version)
|
||||
fmt.Println(AppVersion)
|
||||
os.Exit(0)
|
||||
default:
|
||||
if strings.HasPrefix(strings.TrimSpace(args[0]), "-test.") {
|
||||
|
||||
@@ -4,9 +4,9 @@ import (
|
||||
"github.com/chenasraf/sofmani/appconfig"
|
||||
)
|
||||
|
||||
func LoadConfig(version string) (*appconfig.AppConfig, error) {
|
||||
overrides := appconfig.ParseCliConfig(version)
|
||||
cfg, err := appconfig.ParseConfig(version, overrides)
|
||||
func LoadConfig() (*appconfig.AppConfig, error) {
|
||||
overrides := appconfig.ParseCliConfig()
|
||||
cfg, err := appconfig.ParseConfig(overrides)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
6
main.go
6
main.go
@@ -6,15 +6,17 @@ import (
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/chenasraf/sofmani/appconfig"
|
||||
"github.com/chenasraf/sofmani/installer"
|
||||
"github.com/chenasraf/sofmani/logger"
|
||||
)
|
||||
|
||||
//go:embed version.txt
|
||||
var version []byte
|
||||
var appVersion []byte
|
||||
|
||||
func main() {
|
||||
cfg, err := LoadConfig(strings.TrimSpace(string(version)))
|
||||
appconfig.SetVersion(strings.TrimSpace(string(appVersion)))
|
||||
cfg, err := LoadConfig()
|
||||
if err != nil {
|
||||
fmt.Println(fmt.Errorf("Error loading config: %v", err))
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user