probe/config/path.go
crusader 9133090b72 ing
2018-04-26 17:39:32 +09:00

80 lines
1.4 KiB
Go

package config
import (
"fmt"
"os"
"path"
"path/filepath"
"log"
"os/user"
occn "git.loafle.net/overflow/commons-go/config/noauthprobe"
occp "git.loafle.net/overflow/commons-go/config/probe"
)
var (
rootDir string
)
func init() {
exePath, err := os.Executable()
if err != nil {
panic(err)
}
binDir := filepath.Dir(exePath)
if "debug" == filepath.Base(exePath) {
rootDir = path.Join(binDir, "_build")
} else if "/tmp" == binDir {
usr, err := user.Current()
if err != nil {
log.Fatal(err)
}
rootDir = path.Join(usr.HomeDir, "/go/src/git.loafle.net/overflow/probe/_build")
} else {
rootDir = filepath.Clean(fmt.Sprintf("%s/..", binDir))
}
}
func RootDir() string {
return rootDir
}
func BinDir() string {
return path.Join(RootDir(), occp.PathBin)
}
func ConfigDir() string {
return path.Join(RootDir(), occp.PathConfig)
}
func JREDir() string {
return path.Join(RootDir(), occp.PathJRE)
}
func JavaBinPath() string {
return path.Join(JREDir(), "bin", "java")
}
func LogsDir() string {
return path.Join(RootDir(), occp.PathLogs)
}
func PIDDir() string {
return path.Join(RootDir(), occp.PathPID)
}
func ProbeConfigFilePath() string {
return path.Join(BinDir(), occp.ConfigFileName)
}
func ProbeLoggingConfigFilePath() string {
return path.Join(BinDir(), occp.LoggingConfigFileName)
}
func NoAuthProbeConfigFilePath() string {
return path.Join(BinDir(), occn.ConfigFileName)
}