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  }