File tree Expand file tree Collapse file tree 1 file changed +19
-1
lines changed
Expand file tree Collapse file tree 1 file changed +19
-1
lines changed Original file line number Diff line number Diff line change 11package flutterversion
22
33import (
4+ "bytes"
45 "encoding/json"
56 "os"
67 "os/exec"
@@ -25,8 +26,25 @@ func readFlutterVersion() flutterVersionResponse {
2526 log .Errorf ("Failed to run %s: %v" , log .Au ().Magenta ("flutter --version --machine" ), err )
2627 os .Exit (1 )
2728 }
29+
30+ // Read bytes from the stdout until we receive what looks like the start of
31+ // a valid json object. This code may be removed when the following flutter
32+ // issue is resolved. https://github.com/flutter/flutter/issues/54014
33+ outputBuffer := bytes .NewBuffer (out )
34+ for {
35+ b , err := outputBuffer .ReadByte ()
36+ if err != nil {
37+ log .Errorf ("Failed to run %s: did not return information in json" , log .Au ().Magenta ("flutter --version --machine" ))
38+ os .Exit (1 )
39+ }
40+ if b == '{' {
41+ outputBuffer .UnreadByte ()
42+ break
43+ }
44+ }
45+
2846 var response flutterVersionResponse
29- err = json .Unmarshal ( out , & response )
47+ err = json .NewDecoder ( outputBuffer ). Decode ( & response )
3048 if err != nil {
3149 log .Errorf ("Failed parsing json: %v" , err )
3250 os .Exit (1 )
You can’t perform that action at this time.
0 commit comments