"path/filepath"
"strings"
- common "gerrit.automotivelinux.org/gerrit/src/xds/xds-common.git/golib"
+ common "gerrit.automotivelinux.org/gerrit/src/xds/xds-common.git"
)
-// 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"
ServerDataFilename = "server-data.xml"
// FoldersConfigFilename Folders config filename
FoldersConfigFilename = "server-config_folders.xml"
+ // TargetsConfigFilename Targets config filename
+ TargetsConfigFilename = "server-config_targets.xml"
)
// SyncThingConf definition
// FileConfig is the JSON structure of xds-server config file (server-config.json)
type FileConfig struct {
- WebAppDir string `json:"webAppDir"`
- ShareRootDir string `json:"shareRootDir"`
- SdkScriptsDir string `json:"sdkScriptsDir"`
- HTTPPort string `json:"httpPort"`
- SThgConf *SyncThingConf `json:"syncthing"`
- LogsDir string `json:"logsDir"`
+ WebAppDir string `json:"webAppDir"`
+ ShareRootDir string `json:"shareRootDir"`
+ SdkScriptsDir string `json:"sdkScriptsDir"`
+ XdsUtilsScriptsDir string `json:"xdsUtilsScriptsDir"`
+ SdkDbUpdate string `json:"sdkDbUpdate"`
+ HTTPPort string `json:"httpPort"`
+ SThgConf *SyncThingConf `json:"syncthing"`
+ LogsDir string `json:"logsDir"`
+ XdsSrvUpdateTime string `json:"xdsSrvUpdateTime"`
}
// readGlobalConfig reads configuration from a config file.
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")
&fCfg.WebAppDir,
&fCfg.ShareRootDir,
&fCfg.SdkScriptsDir,
- &fCfg.LogsDir}
+ &fCfg.XdsUtilsScriptsDir,
+ &fCfg.LogsDir,
+ &fCfg.XdsSrvUpdateTime}
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
if fCfg.SdkScriptsDir == "" {
fCfg.SdkScriptsDir = c.FileConf.SdkScriptsDir
}
+ if fCfg.XdsUtilsScriptsDir == "" {
+ fCfg.XdsUtilsScriptsDir = c.FileConf.XdsUtilsScriptsDir
+ }
+ if fCfg.SdkDbUpdate == "" {
+ fCfg.SdkDbUpdate = c.FileConf.SdkDbUpdate
+ }
if fCfg.HTTPPort == "" {
fCfg.HTTPPort = c.FileConf.HTTPPort
}
if fCfg.LogsDir == "" {
fCfg.LogsDir = c.FileConf.LogsDir
}
+ if fCfg.XdsSrvUpdateTime == "" {
+ fCfg.XdsSrvUpdateTime = c.FileConf.XdsSrvUpdateTime
+ }
+
+ 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, " ")
}
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)
}