github.com/windmeup/goreleaser@v1.21.95/cmd/config.go (about) 1 package cmd 2 3 import ( 4 "errors" 5 "io/fs" 6 "os" 7 8 "github.com/caarlos0/log" 9 "github.com/windmeup/goreleaser/internal/logext" 10 "github.com/windmeup/goreleaser/pkg/config" 11 ) 12 13 func loadConfig(path string) (config.Project, error) { 14 p, path, err := loadConfigCheck(path) 15 if err == nil { 16 log.WithField("path", path).Info("loading") 17 } 18 return p, err 19 } 20 21 func loadConfigCheck(path string) (config.Project, string, error) { 22 if path == "-" { 23 p, err := config.LoadReader(os.Stdin) 24 return p, path, err 25 } 26 if path != "" { 27 p, err := config.Load(path) 28 return p, path, err 29 } 30 for _, f := range [4]string{ 31 ".goreleaser.yml", 32 ".goreleaser.yaml", 33 "goreleaser.yml", 34 "goreleaser.yaml", 35 } { 36 proj, err := config.Load(f) 37 if err != nil && errors.Is(err, fs.ErrNotExist) { 38 continue 39 } 40 return proj, f, err 41 } 42 // the user didn't specify a config file and the known possible file names 43 // don't exist, so, return an empty config and a nil err. 44 log.Warn(logext.Warning("could not find a configuration file, using defaults...")) 45 return config.Project{}, "", nil 46 }