mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-10-25 20:52:11 +08:00
统一定义基准目录
This commit is contained in:
parent
d626d6b42f
commit
92d17ab448
51
pkg/base/path.go
Normal file
51
pkg/base/path.go
Normal file
@ -0,0 +1,51 @@
|
||||
/**
|
||||
为确保运行结果正常输出,请不要移动此文件
|
||||
*/
|
||||
package base
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
)
|
||||
|
||||
// 获取项目基准目录
|
||||
func baseDir(p string) (string, error) {
|
||||
_, file, _, ok := runtime.Caller(0)
|
||||
if !ok {
|
||||
return "", errors.New("runtime.Caller error.")
|
||||
}
|
||||
dir:= filepath.Dir( filepath.Dir( filepath.Dir( file ) ) )
|
||||
return dir+ p, nil
|
||||
}
|
||||
// 获取项目根目录
|
||||
func ProjectDir(p string) string {
|
||||
if p=="" {
|
||||
p= "/"
|
||||
}
|
||||
dir, err:= baseDir(p)
|
||||
if err!= nil {
|
||||
panic(err)
|
||||
}
|
||||
return dir
|
||||
}
|
||||
// 获取各个常用目录
|
||||
func ConfigDir() string {
|
||||
return ProjectDir("/config/")
|
||||
}
|
||||
func ScriptDir() string {
|
||||
return ProjectDir("/script/")
|
||||
}
|
||||
func BinDir() string {
|
||||
return ProjectDir("/bin/")
|
||||
}
|
||||
func LogDir() string {
|
||||
return ProjectDir("/logs/")
|
||||
}
|
||||
func PkgDir() string {
|
||||
return ProjectDir("/pkg/")
|
||||
}
|
||||
func InternalDir() string {
|
||||
return ProjectDir("/internal/")
|
||||
}
|
||||
|
||||
0
pkg/base/this directory can not be moved
Normal file
0
pkg/base/this directory can not be moved
Normal file
@ -1,21 +1,20 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"Open_IM/pkg/base"
|
||||
"io/ioutil"
|
||||
|
||||
"gopkg.in/yaml.v3"
|
||||
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
//"path/filepath"
|
||||
//"runtime"
|
||||
)
|
||||
|
||||
var Config config
|
||||
|
||||
var (
|
||||
_, b, _, _ = runtime.Caller(0)
|
||||
// Root folder of this project
|
||||
Root = filepath.Join(filepath.Dir(b), "../../..")
|
||||
)
|
||||
//var (
|
||||
// _, b, _, _ = runtime.Caller(0)
|
||||
// // Root folder of this project
|
||||
// Root = filepath.Join(filepath.Dir(b), "../../..")
|
||||
//)
|
||||
|
||||
type config struct {
|
||||
ServerIP string `yaml:"serverip"`
|
||||
@ -162,9 +161,16 @@ type config struct {
|
||||
}
|
||||
|
||||
func init() {
|
||||
confDir:= base.ConfigDir()
|
||||
logDir:= base.LogDir()
|
||||
|
||||
// fix log dir
|
||||
Config.Log.StorageLocation= logDir
|
||||
|
||||
// if we cd Open-IM-Server/src/utils and run go test
|
||||
// it will panic cannot find config/config.yaml
|
||||
bytes, err := ioutil.ReadFile(Root + "/config/config.yaml")
|
||||
bytes, err := ioutil.ReadFile(confDir + "config.yaml")
|
||||
//bytes, err := ioutil.ReadFile(Root + "/config/config.yaml")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user