github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/utils/helper/path.go (about)

     1  package helper
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"path/filepath"
     7  )
     8  
     9  func GetAbsPath(pathParts ...string) (string, error) {
    10  
    11  	filePath := filepath.Join(pathParts...)
    12  	absFilePath, err := filepath.Abs(filePath)
    13  	if err != nil {
    14  		return "", fmt.Errorf("error while getting absolute path for %s: %w", filePath, err)
    15  	}
    16  	return absFilePath, nil
    17  }
    18  
    19  func RecreatePath(pathParts ...string) error {
    20  
    21  	absPath, err := GetAbsPath(pathParts...)
    22  	if err != nil {
    23  		return err
    24  	}
    25  
    26  	if err = os.RemoveAll(absPath); err != nil {
    27  		return err
    28  	}
    29  
    30  	return os.MkdirAll(absPath, os.ModePerm)
    31  }