Merge pull request #2161 from thaJeztah/config_dont_init

config: don't call homedir on init()
This commit is contained in:
Brian Goff 2020-05-07 11:20:40 -07:00 committed by GitHub
commit f7185d27e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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
} }