github.com/octohelm/cuekit@v0.0.0-20240424021256-e7df8d743066/pkg/mod/modregistry/util.go (about) 1 package modregistry 2 3 import ( 4 "io" 5 "os" 6 "path/filepath" 7 ) 8 9 func copyFile(src string, dest string) error { 10 sf, err := os.OpenFile(src, os.O_RDONLY, os.ModePerm) 11 if err != nil { 12 return err 13 } 14 defer sf.Close() 15 return putFileContents(dest, sf) 16 } 17 18 func putFileContents(filename string, r io.Reader) error { 19 if err := os.MkdirAll(filepath.Dir(filename), os.ModePerm); err != nil { 20 return err 21 } 22 df, err := os.OpenFile(filename, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, os.ModePerm) 23 if err != nil { 24 return err 25 } 26 defer df.Close() 27 _, err = io.Copy(df, r) 28 return nil 29 } 30 31 func getEnv(name string, defaultValue string) string { 32 if value := os.Getenv(name); value != "" { 33 return value 34 } 35 return defaultValue 36 }