github.com/joselitofilho/goreleaser@v0.155.1-0.20210123221854-e4891856c593/internal/extrafiles/extra_files.go (about) 1 package extrafiles 2 3 import ( 4 "fmt" 5 "os" 6 "path/filepath" 7 8 "github.com/apex/log" 9 "github.com/goreleaser/fileglob" 10 "github.com/goreleaser/goreleaser/pkg/config" 11 ) 12 13 // Find resolves extra files globs et al into a map of names/paths or an error. 14 func Find(files []config.ExtraFile) (map[string]string, error) { 15 var result = map[string]string{} 16 for _, extra := range files { 17 if extra.Glob == "" { 18 continue 19 } 20 files, err := fileglob.Glob(extra.Glob) 21 if err != nil { 22 return result, fmt.Errorf("globbing failed for pattern %s: %w", extra.Glob, err) 23 } 24 for _, file := range files { 25 info, err := os.Stat(file) 26 if err == nil && info.IsDir() { 27 log.Debugf("ignoring directory %s", file) 28 continue 29 } 30 var name = filepath.Base(file) 31 if old, ok := result[name]; ok { 32 log.Warnf("overriding %s with %s for name %s", old, file, name) 33 } 34 result[name] = file 35 } 36 } 37 return result, nil 38 }