Browse Source

stderr PR revisions

pull/1842/head
rigel rozanski 8 years ago
parent
commit
0a3a08a3bc
2 changed files with 18 additions and 15 deletions
  1. +6
    -0
      CHANGELOG.md
  2. +12
    -15
      cli/helper.go

+ 6
- 0
CHANGELOG.md View File

@ -1,5 +1,11 @@
# Changelog
## Develop-Branch changes (unreleased)
BREAKING CHANGES:
- [run] NewBaseService takes the new logger
## 0.2.1 (June 2, 2017)
FEATURES:


+ 12
- 15
cli/helper.go View File

@ -68,21 +68,18 @@ func RunCaptureWithArgs(cmd Executable, args []string, env map[string]string) (s
}()
// copy the output in a separate goroutine so printing can't block indefinitely
outC := make(chan string)
go func() {
var buf bytes.Buffer
// io.Copy will end when we call wOut.Close() below
io.Copy(&buf, rOut)
outC <- buf.String()
}()
errC := make(chan string)
go func() {
var buf bytes.Buffer
// io.Copy will end when we call wErr.Close() below
io.Copy(&buf, rErr)
errC <- buf.String()
}()
copyStd := func(reader *os.File) *(chan string) {
stdC := make(chan string)
go func() {
var buf bytes.Buffer
// io.Copy will end when we call reader.Close() below
io.Copy(&buf, *reader)
stdC <- buf.String()
}()
return stdC
}
outC := copyStd(&rOut)
errC := copyStd(&rErr)
// now run the command
err = RunWithArgs(cmd, args, env)


Loading…
Cancel
Save