github.com/YousefHaggyHeroku/pack@v1.5.5/internal/build/mount_paths.go (about) 1 package build 2 3 import "strings" 4 5 type mountPaths struct { 6 volume string 7 separator string 8 } 9 10 func mountPathsForOS(os string) mountPaths { 11 if os == "windows" { 12 return mountPaths{ 13 volume: `c:`, 14 separator: `\`, 15 } 16 } 17 return mountPaths{ 18 volume: "", 19 separator: "/", 20 } 21 } 22 23 func (m mountPaths) join(parts ...string) string { 24 return strings.Join(parts, m.separator) 25 } 26 27 func (m mountPaths) layersDir() string { 28 return m.join(m.volume, "layers") 29 } 30 31 func (m mountPaths) stackPath() string { 32 return m.join(m.layersDir(), "stack.toml") 33 } 34 35 func (m mountPaths) appDirName() string { 36 return "workspace" 37 } 38 39 func (m mountPaths) appDir() string { 40 return m.join(m.volume, m.appDirName()) 41 } 42 43 func (m mountPaths) cacheDir() string { 44 return m.join(m.volume, "cache") 45 } 46 47 func (m mountPaths) launchCacheDir() string { 48 return m.join(m.volume, "launch-cache") 49 } 50 51 func (m mountPaths) platformDir() string { 52 return m.join(m.volume, "platform") 53 }