commit 9c1c1d478d3f5a541c142bb32b22a77c2f500953 (tree)
parent dcd88ae568a1e9c0315b39801c9ca124e0e9aefc
Author: Jonathan Marler <johnnymarler@gmail.com>
Date: Fri, 29 Oct 2021 14:03:00 -0600
add print field to RunStep
A new print field is added to RunStep that will control whether it prints the cmd before running it. By default it will be set to builder.verbose which means it will print only if builder.verbose is true.
Diffstat:
1 file changed, 7 insertions(+), 0 deletions(-)
diff --git a/lib/std/build/RunStep.zig b/lib/std/build/RunStep.zig
@@ -37,6 +37,9 @@ stdin_behavior: std.ChildProcess.StdIo = .Inherit,
expected_exit_code: u8 = 0,
+/// Print the command before running it
+print: bool,
+
pub const StdIoAction = union(enum) {
inherit,
ignore,
@@ -58,6 +61,7 @@ pub fn create(builder: *Builder, name: []const u8) *RunStep {
.argv = ArrayList(Arg).init(builder.allocator),
.cwd = null,
.env_map = null,
+ .print = builder.verbose,
};
return self;
}
@@ -181,6 +185,9 @@ fn make(step: *Step) !void {
child.stdout_behavior = stdIoActionToBehavior(self.stdout_action);
child.stderr_behavior = stdIoActionToBehavior(self.stderr_action);
+ if (self.print)
+ printCmd(cwd, argv);
+
child.spawn() catch |err| {
warn("Unable to spawn {s}: {s}\n", .{ argv[0], @errorName(err) });
return err;