Skip to content

Commit 3ef03f5

Browse files
committed
support ~ in target dir
1 parent 7de7159 commit 3ef03f5

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

pkg/fetcher/fetch.go

+12-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"log"
88
"os"
99
"os/exec"
10+
"os/user"
1011
"path/filepath"
1112
"runtime"
1213
"sort"
@@ -83,9 +84,7 @@ func (f *fetcher) Fetch(cfgFile string, selectedTools ...string) error {
8384
if err != nil {
8485
return err
8586
}
86-
if tb.Target == "" {
87-
tb.Target = "./tools"
88-
}
87+
sanitizeTargetDir(tb)
8988

9089
if tb.Upx {
9190
f.checkUpxAvailable()
@@ -134,6 +133,16 @@ func (f *fetcher) Fetch(cfgFile string, selectedTools ...string) error {
134133
return SaveYamlFile(filepath.Join(tb.Target, toolboxVersionsFile), tb.Versions())
135134
}
136135

136+
func sanitizeTargetDir(tb *types.Toolbox) {
137+
if tb.Target == "" {
138+
tb.Target = "./tools"
139+
} else if strings.HasPrefix(tb.Target, "~/") {
140+
usr, _ := user.Current()
141+
dir := usr.HomeDir
142+
tb.Target = filepath.Join(dir, tb.Target[2:])
143+
}
144+
}
145+
137146
func (f *fetcher) assureTargetDirAvailable(tb *types.Toolbox) error {
138147
if _, err := os.Stat(tb.Target); err != nil {
139148
if os.IsNotExist(err) {

0 commit comments

Comments
 (0)