X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fxdsconfig%2Ffileconfig.go;h=374afa37a9ac43efca9d40de1442fa196ad0ad56;hb=4982769bd48b5c67c5eff4d9c6f297fa2a7531a4;hp=46afc578361e5bcb8bb464d67e3511a906edf9a6;hpb=2a7a112bbffcd41a3436c086f1910ea7a9c94744;p=src%2Fxds%2Fxds-server.git diff --git a/lib/xdsconfig/fileconfig.go b/lib/xdsconfig/fileconfig.go index 46afc57..374afa3 100644 --- a/lib/xdsconfig/fileconfig.go +++ b/lib/xdsconfig/fileconfig.go @@ -28,9 +28,6 @@ import ( common "gerrit.automotivelinux.org/gerrit/src/xds/xds-common.git/golib" ) -// ConfigDir Directory in user HOME directory where xds config will be saved -var ConfigDir = path.Join(".xds", "server") - const ( // GlobalConfigFilename Global config filename GlobalConfigFilename = "server-config.json" @@ -38,6 +35,8 @@ const ( ServerDataFilename = "server-data.xml" // FoldersConfigFilename Folders config filename FoldersConfigFilename = "server-config_folders.xml" + // TargetsConfigFilename Targets config filename + TargetsConfigFilename = "server-config_targets.xml" ) // SyncThingConf definition @@ -54,6 +53,7 @@ type FileConfig struct { WebAppDir string `json:"webAppDir"` ShareRootDir string `json:"shareRootDir"` SdkScriptsDir string `json:"sdkScriptsDir"` + SdkDbUpdate string `json:"sdkDbUpdate"` HTTPPort string `json:"httpPort"` SThgConf *SyncThingConf `json:"syncthing"` LogsDir string `json:"logsDir"` @@ -71,8 +71,8 @@ func readGlobalConfig(c *Config, confFile string) error { if confFile != "" { searchIn = append(searchIn, confFile) } - if usr, err := user.Current(); err == nil { - searchIn = append(searchIn, path.Join(usr.HomeDir, ConfigDir, GlobalConfigFilename)) + if _, err := user.Current(); err == nil { + searchIn = append(searchIn, path.Join(ConfigRootDir(), GlobalConfigFilename)) } searchIn = append(searchIn, "/etc/xds/server/server-config.json") @@ -122,13 +122,6 @@ func readGlobalConfig(c *Config, confFile string) error { if fCfg.SThgConf != nil { vars = append(vars, &fCfg.SThgConf.Home, &fCfg.SThgConf.BinDir) } - for _, field := range vars { - var err error - if *field, err = common.ResolveEnvVar(*field); err != nil { - return err - } - } - // Use config file settings else use default config if fCfg.WebAppDir == "" { fCfg.WebAppDir = c.FileConf.WebAppDir @@ -139,6 +132,9 @@ func readGlobalConfig(c *Config, confFile string) error { if fCfg.SdkScriptsDir == "" { fCfg.SdkScriptsDir = c.FileConf.SdkScriptsDir } + if fCfg.SdkDbUpdate == "" { + fCfg.SdkDbUpdate = c.FileConf.SdkDbUpdate + } if fCfg.HTTPPort == "" { fCfg.HTTPPort = c.FileConf.HTTPPort } @@ -146,6 +142,13 @@ func readGlobalConfig(c *Config, confFile string) error { fCfg.LogsDir = c.FileConf.LogsDir } + for _, field := range vars { + var err error + if *field, err = common.ResolveEnvVar(*field); err != nil { + return err + } + } + // Resolve webapp dir (support relative or full path) fCfg.WebAppDir = strings.Trim(fCfg.WebAppDir, " ") if !strings.HasPrefix(fCfg.WebAppDir, "/") && exePath != "" { @@ -166,19 +169,20 @@ func readGlobalConfig(c *Config, confFile string) error { } func configFilenameGet(cfgFile string) (string, error) { - usr, err := user.Current() - if err != nil { - return "", err - } - return path.Join(usr.HomeDir, ConfigDir, cfgFile), nil + return path.Join(ConfigRootDir(), cfgFile), nil } -// FoldersConfigFilenameGet +// FoldersConfigFilenameGet Return the FoldersConfig filename func FoldersConfigFilenameGet() (string, error) { return configFilenameGet(FoldersConfigFilename) } -// ServerDataFilenameGet +// TargetsConfigFilenameGet Return the TargetsConfig filename +func TargetsConfigFilenameGet() (string, error) { + return configFilenameGet(TargetsConfigFilename) +} + +// ServerDataFilenameGet Return the ServerData filename func ServerDataFilenameGet() (string, error) { return configFilenameGet(ServerDataFilename) }