github.com/paketo-buildpacks/packit@v1.3.2-0.20211206231111-86b75c657449/internal/environment_writer.go (about) 1 package internal 2 3 import ( 4 "os" 5 "path/filepath" 6 ) 7 8 type EnvironmentWriter struct{} 9 10 func NewEnvironmentWriter() EnvironmentWriter { 11 return EnvironmentWriter{} 12 } 13 14 func (w EnvironmentWriter) Write(dir string, env map[string]string) error { 15 if len(env) == 0 { 16 return nil 17 } 18 19 err := os.MkdirAll(dir, os.ModePerm) 20 if err != nil { 21 return err 22 } 23 24 for key, value := range env { 25 err := os.WriteFile(filepath.Join(dir, key), []byte(value), 0644) 26 if err != nil { 27 return err 28 } 29 } 30 31 return nil 32 }