command: make sure errors from flag go to UI [GH-269]
This commit is contained in:
parent
7b96a9fa06
commit
546865e1ee
|
@ -12,6 +12,7 @@ BUG FIXES:
|
||||||
* core: Fix certain syntax of configuration that could cause hang. [GH-261]
|
* core: Fix certain syntax of configuration that could cause hang. [GH-261]
|
||||||
* core: `-no-color` flag properly disables color. [GH-250]
|
* core: `-no-color` flag properly disables color. [GH-250]
|
||||||
* core: "~" is expanded in `-var-file` flags. [GH-273]
|
* core: "~" is expanded in `-var-file` flags. [GH-273]
|
||||||
|
* core: Errors with tfvars are shown in console. [GH-269]
|
||||||
* providers/aws: Refreshing EIP from pre-0.2 state file won't error. [GH-258]
|
* providers/aws: Refreshing EIP from pre-0.2 state file won't error. [GH-258]
|
||||||
* providers/google: Attaching a disk source (not an image) works
|
* providers/google: Attaching a disk source (not an image) works
|
||||||
properly. [GH-254]
|
properly. [GH-254]
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
package command
|
package command
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
|
@ -137,6 +139,19 @@ func (m *Meta) flagSet(n string) *flag.FlagSet {
|
||||||
f.Var((*FlagVarFile)(&m.autoVariables), m.autoKey, "variable file")
|
f.Var((*FlagVarFile)(&m.autoVariables), m.autoKey, "variable file")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Create an io.Writer that writes to our Ui properly for errors.
|
||||||
|
// This is kind of a hack, but it does the job. Basically: create
|
||||||
|
// a pipe, use a scanner to break it into lines, and output each line
|
||||||
|
// to the UI. Do this forever.
|
||||||
|
errR, errW := io.Pipe()
|
||||||
|
errScanner := bufio.NewScanner(errR)
|
||||||
|
go func() {
|
||||||
|
for errScanner.Scan() {
|
||||||
|
m.Ui.Error(errScanner.Text())
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
f.SetOutput(errW)
|
||||||
|
|
||||||
return f
|
return f
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue