| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- //go:build !windows
- // +build !windows
- package platform
- import (
- "os"
- "path/filepath"
- )
- func ExpandEnv(s string) string {
- return os.ExpandEnv(s)
- }
- func LineSeparator() string {
- return "\n"
- }
- func GetToolLocation(file string) string {
- const name = "xray.location.tool"
- toolPath := EnvFlag{Name: name, AltName: NormalizeEnvName(name)}.GetValue(getExecutableDir)
- return filepath.Join(toolPath, file)
- }
- // GetAssetLocation searches for `file` in certain locations
- func GetAssetLocation(file string) string {
- const name = "xray.location.asset"
- assetPath := NewEnvFlag(name).GetValue(getExecutableDir)
- defPath := filepath.Join(assetPath, file)
- for _, p := range []string{
- defPath,
- filepath.Join("/usr/local/share/xray/", file),
- filepath.Join("/usr/share/xray/", file),
- filepath.Join("/opt/share/xray/", file),
- } {
- if _, err := os.Stat(p); os.IsNotExist(err) {
- continue
- }
- // asset found
- return p
- }
- // asset not found, let the caller throw out the error
- return defPath
- }
|