@@ -186,21 +186,26 @@ func (ls *INOLanguageServer) generateBuildEnvironment(ctx context.Context, logge
186
186
defer conn .Close ()
187
187
188
188
client := rpc .NewArduinoCoreServiceClient (conn )
189
- compRespStream , err := client .Compile (context .Background (),
190
- & rpc.CompileRequest {
191
- Instance : & rpc.Instance {Id : 1 }, // XXX
192
- Fqbn : fqbn ,
193
- SketchPath : sketchRoot .String (),
194
- SourceOverride : data .Overrides ,
195
- BuildPath : buildPath .String (),
196
- CreateCompilationDatabaseOnly : true ,
197
- },
198
- )
189
+ compileReq := & rpc.CompileRequest {
190
+ Instance : & rpc.Instance {Id : 1 }, // XXX
191
+ Fqbn : fqbn ,
192
+ SketchPath : sketchRoot .String (),
193
+ SourceOverride : data .Overrides ,
194
+ BuildPath : buildPath .String (),
195
+ CreateCompilationDatabaseOnly : true ,
196
+ Verbose : true ,
197
+ }
198
+ compileReqJson , _ := json .MarshalIndent (compileReq , "" , " " )
199
+ logger .Logf ("Running build with: %s" , string (compileReqJson ))
200
+
201
+ compRespStream , err := client .Compile (context .Background (), compileReq )
199
202
if err != nil {
200
203
return false , fmt .Errorf ("error running compile: %w" , err )
201
204
}
202
205
203
206
// Loop and consume the server stream until all the operations are done.
207
+ stdout := ""
208
+ stderr := ""
204
209
for {
205
210
compResp , err := compRespStream .Recv ()
206
211
if err == io .EOF {
@@ -209,17 +214,19 @@ func (ls *INOLanguageServer) generateBuildEnvironment(ctx context.Context, logge
209
214
break
210
215
}
211
216
if err != nil {
217
+ logger .Logf ("build stdout:" )
218
+ logger .Logf (stdout )
219
+ logger .Logf ("build stderr:" )
220
+ logger .Logf (stderr )
212
221
return false , fmt .Errorf ("error running compile: %w" , err )
213
222
}
214
223
215
- // TODO: we can accumulate stdout/stderr buffer if needed
216
- _ = compResp
217
- // if resp := compResp.GetOutStream(); resp != nil {
218
- // logger.Logf("STDOUT: %s", resp)
219
- // }
220
- // if resperr := compResp.GetErrStream(); resperr != nil {
221
- // logger.Logf("STDERR: %s", resperr)
222
- // }
224
+ if resp := compResp .GetOutStream (); resp != nil {
225
+ stdout += string (resp )
226
+ }
227
+ if resperr := compResp .GetErrStream (); resperr != nil {
228
+ stderr += string (resperr )
229
+ }
223
230
}
224
231
225
232
} else {
0 commit comments