Skip to content

Commit 422aa87

Browse files
authored
[skip-changelog] Fixed 'compile --preprocess' output (#2339)
1 parent 5a4f48b commit 422aa87

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed

Diff for: arduino/builder/builder.go

+9-9
Original file line numberDiff line numberDiff line change
@@ -243,10 +243,17 @@ func (b *Builder) ImportedLibraries() libraries.List {
243243
}
244244

245245
// Preprocess fixdoc
246-
func (b *Builder) Preprocess() error {
246+
func (b *Builder) Preprocess() ([]byte, error) {
247247
b.Progress.AddSubSteps(6)
248248
defer b.Progress.RemoveSubSteps()
249-
return b.preprocess()
249+
250+
if err := b.preprocess(); err != nil {
251+
return nil, err
252+
}
253+
254+
// Return arduino-preprocessed source
255+
preprocessedSketch, err := b.sketchBuildPath.Join(b.sketch.MainFile.Base() + ".cpp").ReadFile()
256+
return preprocessedSketch, err
250257
}
251258

252259
func (b *Builder) preprocess() error {
@@ -303,13 +310,6 @@ func (b *Builder) preprocess() error {
303310
b.Progress.CompleteStep()
304311
b.Progress.PushProgress()
305312

306-
// Output arduino-preprocessed source
307-
preprocessedSketch, err := b.sketchBuildPath.Join(b.sketch.MainFile.Base() + ".cpp").ReadFile()
308-
if err != nil {
309-
return err
310-
}
311-
b.logger.WriteStdout(preprocessedSketch)
312-
313313
return nil
314314
}
315315

Diff for: commands/compile/compile.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -240,11 +240,13 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
240240

241241
if req.GetPreprocess() {
242242
// Just output preprocessed source code and exit
243-
compileErr := sketchBuilder.Preprocess()
244-
if compileErr != nil {
245-
compileErr = &arduino.CompileFailedError{Message: compileErr.Error()}
243+
preprocessedSketch, err := sketchBuilder.Preprocess()
244+
if err != nil {
245+
err = &arduino.CompileFailedError{Message: err.Error()}
246+
return r, err
246247
}
247-
return r, compileErr
248+
_, err = outStream.Write(preprocessedSketch)
249+
return r, err
248250
}
249251

250252
defer func() {

0 commit comments

Comments
 (0)