Skip to content

Commit e034fc5

Browse files
committed
Use CombinedOutput of exec.Command instead of runCommand
1 parent fbc1c35 commit e034fc5

File tree

1 file changed

+5
-22
lines changed

1 file changed

+5
-22
lines changed

danger-js/danger-js.go

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package danger_js
22

33
import (
44
"encoding/json"
5-
"errors"
65
"fmt"
76
"os"
87
"os/exec"
@@ -12,30 +11,13 @@ import (
1211
const dangerJsBinary = "danger"
1312
const dangerGoBinary = "danger-go"
1413

15-
func runCommand(command string, args ...string) (string, error) {
16-
cmd := exec.Command(command, args...)
17-
stdout := new(strings.Builder)
18-
cmd.Stdout = stdout
19-
stderr := new(strings.Builder)
20-
cmd.Stderr = stderr
21-
if err := cmd.Run(); err != nil {
22-
parts := strings.Split(stderr.String(), "\n\n")
23-
for _, part := range parts {
24-
if strings.HasPrefix(part, "Error") {
25-
return "", errors.New(part)
26-
}
27-
}
28-
return "", err
29-
}
30-
return stdout.String(), nil
31-
}
32-
3314
func findBinary(name string) (string, error) {
34-
dangerBin, err := runCommand("which", name)
15+
cmd := exec.Command("which", name)
16+
dangerBin, err := cmd.CombinedOutput()
3517
if err != nil {
3618
return "", fmt.Errorf("could not find `%s` binary: %w", name, err)
3719
}
38-
return strings.TrimSpace(dangerBin), nil
20+
return strings.TrimSpace(string(dangerBin)), nil
3921
}
4022

4123
func GetPR(url string, dangerBin string) (PR, error) {
@@ -47,7 +29,8 @@ func GetPR(url string, dangerBin string) (PR, error) {
4729
}
4830
}
4931

50-
prJSON, err := runCommand(dangerBin, "pr", url, "--json")
32+
cmd := exec.Command(dangerBin, "pr", url, "--json")
33+
prJSON, err := cmd.CombinedOutput()
5134
if err != nil {
5235
return PR{}, fmt.Errorf("could not download PR JSON with danger-js: %w", err)
5336
}

0 commit comments

Comments
 (0)