posh/pkg/util/files/mkdirall.go
2023-01-18 11:40:37 +01:00

23 lines
418 B
Go

package files
import (
"os"
"github.com/pkg/errors"
)
func MkdirAll(paths ...string) error {
for _, path := range paths {
if stat, err := os.Stat(path); err != nil && os.IsNotExist(err) {
if err := os.MkdirAll(path, os.ModeDir|0722); err != nil {
return err
}
} else if err != nil {
return err
} else if !stat.IsDir() {
return errors.Errorf("%s not a directory", path)
}
}
return nil
}