This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
package config
|
package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
@ -17,12 +18,14 @@ func LoadAbraConfig() Abra {
|
|||||||
configFile := findAbraConfig(wd)
|
configFile := findAbraConfig(wd)
|
||||||
if configFile == "" {
|
if configFile == "" {
|
||||||
logrus.Debugf("no config file found")
|
logrus.Debugf("no config file found")
|
||||||
|
log.Println("no config file found")
|
||||||
return Abra{}
|
return Abra{}
|
||||||
}
|
}
|
||||||
data, err := os.ReadFile(configFile)
|
data, err := os.ReadFile(configFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// Do nothing, when an error occurs
|
// Do nothing, when an error occurs
|
||||||
logrus.Debugf("error reading config file: %s", err)
|
logrus.Debugf("error reading config file: %s", err)
|
||||||
|
log.Printf("error reading config file: %s", err)
|
||||||
return Abra{}
|
return Abra{}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,6 +34,7 @@ func LoadAbraConfig() Abra {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
// Do nothing, when an error occurs
|
// Do nothing, when an error occurs
|
||||||
logrus.Debugf("error loading config file: %s", err)
|
logrus.Debugf("error loading config file: %s", err)
|
||||||
|
log.Printf("error loading config file: %s", err)
|
||||||
return Abra{}
|
return Abra{}
|
||||||
}
|
}
|
||||||
logrus.Debugf("config file loaded from: %s", configFile)
|
logrus.Debugf("config file loaded from: %s", configFile)
|
||||||
@ -45,17 +49,21 @@ func LoadAbraConfig() Abra {
|
|||||||
func findAbraConfig(dir string) string {
|
func findAbraConfig(dir string) string {
|
||||||
dir, err := filepath.Abs(dir)
|
dir, err := filepath.Abs(dir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Println("here")
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
if dir == os.ExpandEnv("$HOME") || dir == "/" {
|
if dir == os.ExpandEnv("$HOME") || dir == "/" {
|
||||||
|
log.Println("there")
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
p := path.Join(dir, "abra.yaml")
|
p := path.Join(dir, "abra.yaml")
|
||||||
if _, err := os.Stat(p); err == nil {
|
if _, err := os.Stat(p); err == nil {
|
||||||
|
log.Println("where", p)
|
||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
p = path.Join(dir, "abra.yml")
|
p = path.Join(dir, "abra.yml")
|
||||||
if _, err := os.Stat(p); err == nil {
|
if _, err := os.Stat(p); err == nil {
|
||||||
|
log.Println("lhere", p)
|
||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
return findAbraConfig(filepath.Dir(dir))
|
return findAbraConfig(filepath.Dir(dir))
|
||||||
@ -70,6 +78,7 @@ type Abra struct {
|
|||||||
// GetAbraDir returns the abra dir. It has the following logic:
|
// GetAbraDir returns the abra dir. It has the following logic:
|
||||||
// 1. check if $ABRA_DIR is set
|
// 1. check if $ABRA_DIR is set
|
||||||
// 2. check if abraDir was set in a config file
|
// 2. check if abraDir was set in a config file
|
||||||
|
// 3. use $HOME/.abra when above two options failed
|
||||||
func (a Abra) GetAbraDir() string {
|
func (a Abra) GetAbraDir() string {
|
||||||
if dir, exists := os.LookupEnv("ABRA_DIR"); exists && dir != "" {
|
if dir, exists := os.LookupEnv("ABRA_DIR"); exists && dir != "" {
|
||||||
return dir
|
return dir
|
||||||
|
@ -74,6 +74,7 @@ func TestLoadAbraConfigGetAbraDir(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cfg := LoadAbraConfig()
|
cfg := LoadAbraConfig()
|
||||||
|
log.Println(cfg.GetAbraDir())
|
||||||
wantAbraDir := filepath.Join(wd, "testdata/abraconfig1/abra.yaml/foobar")
|
wantAbraDir := filepath.Join(wd, "testdata/abraconfig1/abra.yaml/foobar")
|
||||||
if cfg.GetAbraDir() != wantAbraDir {
|
if cfg.GetAbraDir() != wantAbraDir {
|
||||||
t.Errorf("\nwant: %s\ngot: %s", wantAbraDir, cfg.GetAbraDir())
|
t.Errorf("\nwant: %s\ngot: %s", wantAbraDir, cfg.GetAbraDir())
|
||||||
|
Reference in New Issue
Block a user