diff --git a/cli/htmgo/internal/dirutil/dir.go b/cli/htmgo/internal/dirutil/dir.go index 7ebd838..97ba191 100644 --- a/cli/htmgo/internal/dirutil/dir.go +++ b/cli/htmgo/internal/dirutil/dir.go @@ -52,6 +52,21 @@ func CopyDir(srcDir, dstDir string, predicate func(path string, exists bool) boo }) } +func MoveFile(src, dst string) error { + slog.Debug("moving file", slog.String("src", src), slog.String("dst", dst)) + // Copy the file. + err := CopyFile(src, dst) + if err != nil { + return fmt.Errorf("failed to copy file: %v", err) + } + // Remove the source file. + err = os.Remove(src) + if err != nil { + return fmt.Errorf("failed to remove source file: %v", err) + } + return nil +} + func CopyFile(src, dst string) error { slog.Debug("copying file", slog.String("src", src), slog.String("dst", dst)) // Open the source file for reading. diff --git a/cli/htmgo/tasks/css/css.go b/cli/htmgo/tasks/css/css.go index 767cf26..f43f258 100644 --- a/cli/htmgo/tasks/css/css.go +++ b/cli/htmgo/tasks/css/css.go @@ -82,15 +82,15 @@ func downloadTailwindCli() { if os == "windows" { process.RunMany([]string{ fmt.Sprintf(`curl -LO %s`, url), - fmt.Sprintf(`mv %s ./__htmgo/tailwind`, fileName), }, process.ExitOnError) } else { process.RunMany([]string{ fmt.Sprintf(`curl -LO %s`, url), fmt.Sprintf(`chmod +x %s`, fileName), - fmt.Sprintf(`mv %s ./__htmgo/tailwind`, fileName), }, process.ExitOnError) } + dirutil.MoveFile(fileName, "./__htmgo/tailwind") + slog.Debug("Successfully downloaded Tailwind CLI", slog.String("url", url)) }