1package cmd 2 3import ( 4 "github.com/cloudfoundry/bosh-utils/logger" 5 boshsys "github.com/cloudfoundry/bosh-utils/system" 6) 7 8type TempRootConfigurator interface { 9 PrepareAndSetTempRoot(path string, logger logger.Logger) error 10} 11 12type tempRootConfigurator struct { 13 fs boshsys.FileSystem 14} 15 16func NewTempRootConfigurator(fs boshsys.FileSystem) TempRootConfigurator { 17 return &tempRootConfigurator{fs: fs} 18} 19 20func (c *tempRootConfigurator) PrepareAndSetTempRoot(path string, logger logger.Logger) error { 21 logger.Info("tempRootConfigurator", "Preparing temp root: %s", path) 22 23 if c.fs.FileExists(path) { 24 logger.Info("tempRootConfigurator", "Path exists, deleting") 25 err := c.fs.RemoveAll(path) 26 if err != nil { 27 return err 28 } 29 } 30 31 logger.Info("tempRootConfigurator", "Setting file system temp root") 32 err := c.fs.ChangeTempRoot(path) 33 if err != nil { 34 return err 35 } 36 37 return nil 38} 39