feat: use tag & json loader only

This commit is contained in:
张泊明518370910136 2024-09-19 17:45:42 -04:00
parent 1253404c49
commit d597c73dd2
GPG Key ID: D47306D7062CDA9D

View File

@ -61,11 +61,21 @@ type OptionalCmd struct {
}
func parseConfFile(path string) (conf Conf, err error) {
m := multiconfig.NewWithPath(path)
if err = m.Load(&conf); err != nil {
d := &multiconfig.DefaultLoader{}
d.Loader = multiconfig.MultiLoader(
&multiconfig.TagLoader{},
&multiconfig.JSONLoader{Path: path},
)
d.Validator = multiconfig.MultiValidator(&multiconfig.RequiredValidator{})
if err = d.Load(&conf); err != nil {
slog.Error("parse stages conf", "error", err)
return
}
if err = d.Validate(&conf); err != nil {
slog.Error("validate stages conf", "error", err)
return
}
slog.Error("parse stages conf", "conf", conf)
return
}