package workdir import "os" func CreateWorkdir(path string) (workdir string, err error) { if len(path) > 0 { // Create a dir using the path // It should not be removed after the execution if err := os.Mkdir(path, 0777); err != nil { return path, err } // TODO(@allanger): I've got a feeling that it doesn't have to look that bad workdir = path } else { // Create a temporary dir // It should be removed after the execution workdir, err = os.MkdirTemp("", "shoebill") if err != nil { return workdir, err } } return workdir, nil } func RemoveWorkdir(path string) (err error) { return os.RemoveAll(path) }