-
Notifications
You must be signed in to change notification settings - Fork 105
Description
Is this a BUG REPORT or FEATURE REQUEST?:
Uncomment only one, leave it on its own line:
/kind bug
/kind feature
What happened:
nirvana print a fatal error when running nirvana api
.
$ nirvana api --output="./api"
INFO 0611-14:39:33.220+08 api.go:87 | No packages are specified, defaults to pkg/apis
FATAL 0611-14:40:03.467+08 api.go:61 | invalid character '\x1b' looking for beginning of value
What you expected to happen:
the error is unexpected.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
after some searching, i find the error is reported by json.Unmarshal
.
nirvana api
generated a nirvana-generated***
file and run it to get a json formated api-definition
string, then output the string to standard output(cmd). and read the string from standard output(cmd), decode it to &api.Definitions{}
.
the error occur when my project output something to cmd.
nirvana/utils/builder/builder.go
Lines 172 to 183 in bf6c5fc
cmd := exec.Command("go", "run", path) | |
cmd.Stderr = os.Stderr | |
buf := bytes.NewBuffer(nil) | |
cmd.Stdout = buf | |
if err := cmd.Run(); err != nil { | |
return nil, err | |
} | |
definitions := &api.Definitions{} | |
if err := json.NewDecoder(buf).Decode(definitions); err != nil { | |
return nil, err | |
} | |
return definitions, nil |