From f65c1537dc37e742e378a9d7155bd316315f8794 Mon Sep 17 00:00:00 2001 From: nate smith Date: Thu, 21 Oct 2021 11:58:25 -0500 Subject: [PATCH] review feedback --- pkg/cmd/extension/manager.go | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/pkg/cmd/extension/manager.go b/pkg/cmd/extension/manager.go index 7110254a4..f06594d05 100644 --- a/pkg/cmd/extension/manager.go +++ b/pkg/cmd/extension/manager.go @@ -83,7 +83,7 @@ func (m *Manager) Dispatch(args []string, stdin io.Reader, stdout, stderr io.Wri var externalCmd *exec.Cmd - if ext.IsBinary() { + if ext.IsBinary() || runtime.GOOS != "windows" { externalCmd = m.newCommand(exe, forwardArgs...) } else if runtime.GOOS == "windows" { // Dispatch all extension calls through the `sh` interpreter to support executable files with a @@ -97,8 +97,6 @@ func (m *Manager) Dispatch(args []string, stdin io.Reader, stdout, stderr io.Wri } forwardArgs = append([]string{"-c", `command "$@"`, "--", exe}, forwardArgs...) externalCmd = m.newCommand(shExe, forwardArgs...) - } else { - externalCmd = m.newCommand(exe, forwardArgs...) } externalCmd.Stdin = stdin externalCmd.Stdout = stdout @@ -272,7 +270,17 @@ func (m *Manager) getLatestVersion(ext Extension) (string, error) { if ext.isLocal { return "", fmt.Errorf("unable to get latest version for local extensions") } - if ext.kind == GitKind { + if ext.IsBinary() { + repo, err := ghrepo.FromFullName(ext.url) + if err != nil { + return "", err + } + r, err := fetchLatestRelease(m.client, repo) + if err != nil { + return "", err + } + return r.Tag, nil + } else { gitExe, err := m.lookPath("git") if err != nil { return "", err @@ -286,16 +294,6 @@ func (m *Manager) getLatestVersion(ext Extension) (string, error) { } remoteSha := bytes.SplitN(lsRemote, []byte("\t"), 2)[0] return string(remoteSha), nil - } else { - repo, err := ghrepo.FromFullName(ext.url) - if err != nil { - return "", err - } - r, err := fetchLatestRelease(m.client, repo) - if err != nil { - return "", err - } - return r.Tag, nil } } @@ -481,7 +479,7 @@ func (m *Manager) upgradeExtension(ext Extension, force bool) error { return upToDateError } var err error - if ext.kind == BinaryKind { + if ext.IsBinary() { err = m.upgradeBinExtension(ext) } else { err = m.upgradeGitExtension(ext, force)