Feat goctl bug (#1332)
* Support goctl bug * fix typo * format code Co-authored-by: anqiansong <anqiansong@bytedance.com>
This commit is contained in:
49
tools/goctl/bug/bug.go
Normal file
49
tools/goctl/bug/bug.go
Normal file
@@ -0,0 +1,49 @@
|
||||
package bug
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/url"
|
||||
"os/exec"
|
||||
"runtime"
|
||||
|
||||
"github.com/urfave/cli"
|
||||
)
|
||||
|
||||
const (
|
||||
windows = "windows"
|
||||
darwin = "darwin"
|
||||
|
||||
windowsOpen = "start"
|
||||
darwinOpen = "open"
|
||||
linuxOpen = "xdg-open"
|
||||
|
||||
os = "OS"
|
||||
arch = "ARCH"
|
||||
goctlVersion = "GOCTL_VERSION"
|
||||
)
|
||||
|
||||
var openCmd = map[string]string{
|
||||
windows: windowsOpen,
|
||||
darwin: darwinOpen,
|
||||
}
|
||||
|
||||
func Action(_ *cli.Context) error {
|
||||
env := getEnv()
|
||||
content := fmt.Sprintf(issueTemplate, "<pre>\n"+env.string()+"</pre>")
|
||||
content = url.QueryEscape(content)
|
||||
url := fmt.Sprintf("https://github.com/zeromicro/go-zero/issues/new?title=TODO&body=%s", content)
|
||||
|
||||
goos := runtime.GOOS
|
||||
var cmd string
|
||||
var args []string
|
||||
cmd, ok := openCmd[goos]
|
||||
if !ok {
|
||||
cmd = linuxOpen
|
||||
}
|
||||
if goos == windows {
|
||||
args = []string{"/c", "start"}
|
||||
}
|
||||
|
||||
args = append(args, url)
|
||||
return exec.Command(cmd, args...).Start()
|
||||
}
|
||||
Reference in New Issue
Block a user