Skip to content

Commit e5f0f22

Browse files
author
Doug Hatcher
committed
pulls internalizes yaml config, makes app portable
1 parent 5e177ec commit e5f0f22

File tree

1 file changed

+24
-22
lines changed

1 file changed

+24
-22
lines changed

main.go

+24-22
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ package main
1111

1212
import (
1313
"embed"
14-
"fmt"
1514
"io/fs"
15+
"io/ioutil"
16+
"log"
1617
"os"
1718
"path/filepath"
1819

@@ -23,49 +24,50 @@ import (
2324
//go:embed tasks/*.yaml
2425
var tasks embed.FS
2526

27+
var yamlExt string = ".yaml"
28+
29+
var configDir string = ".magento-cli"
30+
2631
func main() {
2732

2833
data := ""
2934

35+
// fetches basic configuration, this uses embed.FS and sources from ./tasks/
3036
fs.WalkDir(tasks, ".", func(path string, d fs.DirEntry, err error) error {
3137
if err != nil {
3238
return err
3339
}
40+
3441
// fmt.Printf("path=%q, isDir=%v\n", path, d.IsDir())
3542

3643
content, err := fs.ReadFile(tasks, path)
37-
if err != nil {
38-
// return err // or panic or ignore
44+
if err == nil {
45+
data = data + string(content) + "\n"
3946
}
4047

41-
data = data + string(content) + "\n"
42-
4348
return nil
4449

4550
})
4651

47-
// files, err := ioutil.ReadDir("../tasks")
48-
// if err != nil {
49-
// log.Fatal(err)
50-
// }
51-
52-
// for _, f := range files {
53-
54-
// if filepath.Ext(f.Name()) == ".yaml" {
55-
// content, _ := ioutil.ReadFile("../tasks/" + f.Name())
52+
// override mechanism, .magento-cli directories can contain additional configs
53+
if _, err := os.Stat(configDir); !os.IsNotExist(err) {
54+
files, err := ioutil.ReadDir(configDir)
55+
if err != nil {
56+
log.Fatal(err)
57+
} else {
58+
for _, f := range files {
5659

57-
// data = data + string(content) + "\n"
58-
// }
60+
if filepath.Ext(f.Name()) == yamlExt {
61+
content, _ := ioutil.ReadFile(configDir + f.Name())
5962

60-
// }
63+
data = data + string(content) + "\n"
64+
}
6165

62-
ex, err := os.Executable()
63-
if err != nil {
64-
panic(err)
66+
}
67+
}
6568
}
66-
exPath := filepath.Dir(ex)
67-
fmt.Println(exPath)
6869

70+
// feeds configuration into paraser and executes
6971
text := string(data)
7072
cmd.YAML(text)
7173
}

0 commit comments

Comments
 (0)