From c309cf901dca2b6ce25b1309b2bda0c932bd02f2 Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Fri, 3 Feb 2023 17:12:57 +0800 Subject: [PATCH] chore(command): support windows (#153) --- command.go | 12 ++++++++++++ command_windows.go | 12 ++++++++++++ plugin.go | 9 ++++----- 3 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 command.go create mode 100644 command_windows.go diff --git a/command.go b/command.go new file mode 100644 index 0000000..aa72a40 --- /dev/null +++ b/command.go @@ -0,0 +1,12 @@ +//go:build !windows +// +build !windows + +package main + +func rmcmd(target string) string { + return "rm -rf " + target +} + +func mkdircmd(target string) string { + return "mkdir -p " + target +} diff --git a/command_windows.go b/command_windows.go new file mode 100644 index 0000000..06475b5 --- /dev/null +++ b/command_windows.go @@ -0,0 +1,12 @@ +//go:build windows +// +build windows + +package main + +func rmcmd(target string) string { + return "DEL /F /S " + target +} + +func mkdircmd(target string) string { + return "if not exist " + target + " mkdir " + target +} diff --git a/plugin.go b/plugin.go index 50bdbdb..590b51a 100644 --- a/plugin.go +++ b/plugin.go @@ -152,7 +152,7 @@ func (p Plugin) log(host string, message ...interface{}) { func (p *Plugin) removeDestFile(ssh *easyssh.MakeConfig) error { p.log(ssh.Server, "remove file", p.DestFile) - _, errStr, _, err := ssh.Run(fmt.Sprintf("rm -rf %s", p.DestFile), p.Config.CommandTimeout) + _, errStr, _, err := ssh.Run(rmcmd(p.DestFile), p.Config.CommandTimeout) if err != nil { return err } @@ -322,20 +322,19 @@ func (p *Plugin) Exec() error { } for _, target := range p.Config.Target { - // remove target before upload data + // remove target folder before upload data if p.Config.Remove { p.log(host, "Remove target folder:", target) - _, _, _, err := ssh.Run(fmt.Sprintf("rm -rf %s", target), p.Config.CommandTimeout) + _, _, _, err := ssh.Run(rmcmd(target), p.Config.CommandTimeout) if err != nil { errChannel <- err return } } - // mkdir path p.log(host, "create folder", target) - _, errStr, _, err := ssh.Run(fmt.Sprintf("mkdir -p %s", target), p.Config.CommandTimeout) + _, errStr, _, err := ssh.Run(mkdircmd(target), p.Config.CommandTimeout) if err != nil { errChannel <- err return