mirror of https://github.com/docker/cli.git
config: don't call homedir on init()
This patch changes the package to lazily obtain the user's home- directory on first use, instead of when initializing the package. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
9fee14a814
commit
8a30653ed5
|
@ -6,6 +6,7 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
"sync"
|
||||||
|
|
||||||
"github.com/docker/cli/cli/config/configfile"
|
"github.com/docker/cli/cli/config/configfile"
|
||||||
"github.com/docker/cli/cli/config/credentials"
|
"github.com/docker/cli/cli/config/credentials"
|
||||||
|
@ -23,10 +24,15 @@ const (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
configDir = os.Getenv("DOCKER_CONFIG")
|
initConfigDir sync.Once
|
||||||
|
configDir string
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func setConfigDir() {
|
||||||
|
if configDir != "" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
configDir = os.Getenv("DOCKER_CONFIG")
|
||||||
if configDir == "" {
|
if configDir == "" {
|
||||||
configDir = filepath.Join(homedir.Get(), configFileDir)
|
configDir = filepath.Join(homedir.Get(), configFileDir)
|
||||||
}
|
}
|
||||||
|
@ -34,6 +40,7 @@ func init() {
|
||||||
|
|
||||||
// Dir returns the directory the configuration file is stored in
|
// Dir returns the directory the configuration file is stored in
|
||||||
func Dir() string {
|
func Dir() string {
|
||||||
|
initConfigDir.Do(setConfigDir)
|
||||||
return configDir
|
return configDir
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue