update the runner to be a little bit cleaner
This commit is contained in:
parent
e8972b5688
commit
2397bf9fb0
2 changed files with 26 additions and 21 deletions
|
|
@ -21,20 +21,15 @@ func deleteAllExceptTemplate(outPath string, excludeDir string) {
|
||||||
for _, file := range files {
|
for _, file := range files {
|
||||||
// Skip the excluded directory
|
// Skip the excluded directory
|
||||||
if file.Name() == excludeDir {
|
if file.Name() == excludeDir {
|
||||||
fmt.Printf("Skipping directory: %s\n", file.Name())
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get full path
|
// Get full path
|
||||||
fullPath := filepath.Join(outPath, file.Name())
|
fullPath := filepath.Join(outPath, file.Name())
|
||||||
|
|
||||||
// Remove the file or directory
|
|
||||||
fmt.Printf("Removing: %s\n", fullPath)
|
|
||||||
err := os.RemoveAll(fullPath)
|
err := os.RemoveAll(fullPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("Error removing %s: %v\n", fullPath, err)
|
fmt.Printf("Error removing %s: %v\n", fullPath, err)
|
||||||
} else {
|
|
||||||
fmt.Printf("Successfully removed %s\n", fullPath)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -73,6 +68,8 @@ func main() {
|
||||||
|
|
||||||
mvCmd := exec.Command("cp", "-vaR", fmt.Sprintf("%s/.", excludeDir), ".")
|
mvCmd := exec.Command("cp", "-vaR", fmt.Sprintf("%s/.", excludeDir), ".")
|
||||||
mvCmd.Dir = newDir
|
mvCmd.Dir = newDir
|
||||||
|
mvCmd.Stdout = os.DevNull
|
||||||
|
mvCmd.Stderr = os.DevNull
|
||||||
err = mvCmd.Run()
|
err = mvCmd.Run()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -82,6 +79,8 @@ func main() {
|
||||||
|
|
||||||
rmCmd := exec.Command("rm", "-rf", "starter-template")
|
rmCmd := exec.Command("rm", "-rf", "starter-template")
|
||||||
rmCmd.Dir = newDir
|
rmCmd.Dir = newDir
|
||||||
|
mvCmd.Stdout = os.DevNull
|
||||||
|
mvCmd.Stderr = os.DevNull
|
||||||
err = rmCmd.Run()
|
err = rmCmd.Run()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -6,21 +6,36 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:embed Taskfile.yml
|
//go:embed Taskfile.yml
|
||||||
var taskFile string
|
var taskFile string
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
taskFlag := flag.String("task", "", "Specify the task to run (e.g., build, setup). Type -task list to see the list of tasks to run.")
|
commandMap := make(map[string]*flag.FlagSet)
|
||||||
|
commands := []string{"template", "run", "build", "setup"}
|
||||||
|
|
||||||
// Parse the command-line flags
|
for _, command := range commands {
|
||||||
flag.Parse()
|
commandMap[command] = flag.NewFlagSet(command, flag.ExitOnError)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(os.Args) < 2 {
|
||||||
|
fmt.Println(fmt.Sprintf("Usage: htmgo [%s]", strings.Join(commands, " | ")))
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
err := commandMap[os.Args[1]].Parse(os.Args[2:])
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err.Error())
|
||||||
|
os.Exit(1)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Install the latest version of Task
|
||||||
install := exec.Command("go", "install", "github.com/go-task/task/v3/cmd/task@latest")
|
install := exec.Command("go", "install", "github.com/go-task/task/v3/cmd/task@latest")
|
||||||
install.Stdout = os.Stdout
|
|
||||||
install.Stderr = os.Stderr
|
err = install.Run()
|
||||||
err := install.Run()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("Error installing task: %v\n", err)
|
fmt.Printf("Error installing task: %v\n", err)
|
||||||
return
|
return
|
||||||
|
|
@ -35,17 +50,8 @@ func main() {
|
||||||
|
|
||||||
os.WriteFile(temp.Name(), []byte(taskFile), 0644)
|
os.WriteFile(temp.Name(), []byte(taskFile), 0644)
|
||||||
|
|
||||||
if *taskFlag == "" {
|
|
||||||
fmt.Println("Please specify a task to run using the -task flag")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if *taskFlag == "list" {
|
|
||||||
*taskFlag = "--list"
|
|
||||||
}
|
|
||||||
|
|
||||||
// Define the command and arguments
|
// Define the command and arguments
|
||||||
cmd := exec.Command("task", "-t", temp.Name(), *taskFlag)
|
cmd := exec.Command("task", "-t", temp.Name(), os.Args[1])
|
||||||
// Set the standard output and error to be the same as the Go program
|
// Set the standard output and error to be the same as the Go program
|
||||||
cmd.Stdout = os.Stdout
|
cmd.Stdout = os.Stdout
|
||||||
cmd.Stderr = os.Stderr
|
cmd.Stderr = os.Stderr
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue