authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-02-16 15:08:37-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-03-15 10:48:12-07:00
log26486c7f235596ffdcbfcd44283a787b049561b8
treed2e2088967cd929cd32f5785fe2be3eb22ff0f56
parentc5edd8b7f87f8432bbf058b3456393793118906e

build runner: show stderr even on successful steps run


1 files changed, 9 insertions(+), 4 deletions(-)

lib/build_runner.zig+9-4
......@@ -428,16 +428,21 @@ fn workerMakeOneStep(
428428 // For example, CompileStep does some sus things with modifying the saved
429429 // *Build object in install header steps that might be able to be removed
430430 // by passing the *Build object through the make() functions.
431 s.make() catch |err| {
432 s.result.err_code = err;
433 @atomicStore(Step.State, &s.state, .failure, .SeqCst);
431 const make_result = s.make();
434432
433 // No matter the result, we want to display error/warning messages.
434 if (s.result.error_msgs.items.len > 0) {
435435 sub_prog_node.context.lock_stderr();
436436 defer sub_prog_node.context.unlock_stderr();
437437
438438 for (s.result.error_msgs.items) |msg| {
439 std.io.getStdErr().writeAll(msg) catch return;
439 std.io.getStdErr().writeAll(msg) catch break;
440440 }
441 }
442
443 make_result catch |err| {
444 s.result.err_code = err;
445 @atomicStore(Step.State, &s.state, .failure, .SeqCst);
441446 return;
442447 };
443448