Source
pub fn captureChildProcess(
s: *Step,
progress_node: std.Progress.Node,
argv: []const []const u8,
) !std.process.Child.RunResult {
const arena = s.owner.allocator;
try handleChildProcUnsupported(s, null, argv);
try handleVerbose(s.owner, null, argv);
const result = std.process.Child.run(.{
.allocator = arena,
.argv = argv,
.progress_node = progress_node,
}) catch |err| return s.fail("failed to run {s}: {s}", .{ argv[0], @errorName(err) });
if (result.stderr.len > 0) {
try s.result_error_msgs.append(arena, result.stderr);
}
return result;
}