packer: Don't output up to \r with remote command, lost anyways
This commit is contained in:
parent
856f27bc9b
commit
bc097abc72
|
@ -116,9 +116,9 @@ OutputLoop:
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case output := <-stderrCh:
|
case output := <-stderrCh:
|
||||||
ui.Message(strings.TrimSpace(output))
|
ui.Message(r.cleanOutputLine(output))
|
||||||
case output := <-stdoutCh:
|
case output := <-stdoutCh:
|
||||||
ui.Message(strings.TrimSpace(output))
|
ui.Message(r.cleanOutputLine(output))
|
||||||
case <-exitCh:
|
case <-exitCh:
|
||||||
break OutputLoop
|
break OutputLoop
|
||||||
}
|
}
|
||||||
|
@ -164,3 +164,19 @@ func (r *RemoteCmd) Wait() {
|
||||||
|
|
||||||
<-r.exitCh
|
<-r.exitCh
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// cleanOutputLine cleans up a line so that '\r' don't muck up the
|
||||||
|
// UI output when we're reading from a remote command.
|
||||||
|
func (r *RemoteCmd) cleanOutputLine(line string) string {
|
||||||
|
// Trim surrounding whitespace
|
||||||
|
line = strings.TrimSpace(line)
|
||||||
|
|
||||||
|
// Trim up to the first carriage return, since that text would be
|
||||||
|
// lost anyways.
|
||||||
|
idx := strings.LastIndex(line, "\r")
|
||||||
|
if idx > -1 {
|
||||||
|
line = line[idx+1:]
|
||||||
|
}
|
||||||
|
|
||||||
|
return line
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue