X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fxdsconfig%2Ffileconfig.go;h=b786a24d808741fee783393c3cff962a3f29f9f0;hb=f223efc5e5a08764cf9f78fb5f38917ed949407f;hp=8e77de7802f92687fe5fc318f44e48db6dd7fe47;hpb=963931e04d44a5b40d38817163f52f56241a9f33;p=src%2Fxds%2Fxds-server.git diff --git a/lib/xdsconfig/fileconfig.go b/lib/xdsconfig/fileconfig.go index 8e77de7..b786a24 100644 --- a/lib/xdsconfig/fileconfig.go +++ b/lib/xdsconfig/fileconfig.go @@ -1,5 +1,5 @@ /* - * Copyright (C) 2017 "IoT.bzh" + * Copyright (C) 2017-2018 "IoT.bzh" * Author Sebastien Douheret * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -25,12 +25,9 @@ import ( "path/filepath" "strings" - common "github.com/iotbzh/xds-common/golib" + 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 @@ -51,12 +50,13 @@ type SyncThingConf struct { // FileConfig is the JSON structure of xds-server config file (server-config.json) type FileConfig struct { - WebAppDir string `json:"webAppDir"` - ShareRootDir string `json:"shareRootDir"` - SdkRootDir string `json:"sdkRootDir"` - HTTPPort string `json:"httpPort"` - SThgConf *SyncThingConf `json:"syncthing"` - LogsDir string `json:"logsDir"` + 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"` } // readGlobalConfig reads configuration from a config file. @@ -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") @@ -117,7 +117,7 @@ func readGlobalConfig(c *Config, confFile string) error { vars := []*string{ &fCfg.WebAppDir, &fCfg.ShareRootDir, - &fCfg.SdkRootDir, + &fCfg.SdkScriptsDir, &fCfg.LogsDir} if fCfg.SThgConf != nil { vars = append(vars, &fCfg.SThgConf.Home, &fCfg.SThgConf.BinDir) @@ -136,8 +136,11 @@ func readGlobalConfig(c *Config, confFile string) error { if fCfg.ShareRootDir == "" { fCfg.ShareRootDir = c.FileConf.ShareRootDir } - if fCfg.SdkRootDir == "" { - fCfg.SdkRootDir = c.FileConf.SdkRootDir + if fCfg.SdkScriptsDir == "" { + fCfg.SdkScriptsDir = c.FileConf.SdkScriptsDir + } + if fCfg.SdkDbUpdate == "" { + fCfg.SdkDbUpdate = c.FileConf.SdkDbUpdate } if fCfg.HTTPPort == "" { fCfg.HTTPPort = c.FileConf.HTTPPort @@ -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) }