From b1b355c4ac247929bd17f60f92db643a9953398e Mon Sep 17 00:00:00 2001 From: prime31 Date: Thu, 18 Jun 2020 17:51:39 -0700 Subject: [PATCH] fixes steps with packages in sub-steps --- src/special/build_runner.zig | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/special/build_runner.zig b/src/special/build_runner.zig index b28a14f..4443018 100644 --- a/src/special/build_runner.zig +++ b/src/special/build_runner.zig @@ -29,15 +29,23 @@ pub fn main() !void { // We also flatten them, we should probably keep the nested structure. for (builder.top_level_steps.items) |tls| { for (tls.step.dependencies.items) |step| { - if (step.cast(InstallArtifactStep)) |install_exe| { - for (install_exe.artifact.packages.items) |pkg| { - try processPackage(stdout_stream, pkg); - } - } else if (step.cast(LibExeObjStep)) |exe| { - for (exe.packages.items) |pkg| { - try processPackage(stdout_stream, pkg); - } - } + try processStep(stdout_stream, step); + } + } +} + +fn processStep(stdout_stream: var, step: *std.build.Step) anyerror!void { + if (step.cast(InstallArtifactStep)) |install_exe| { + for (install_exe.artifact.packages.items) |pkg| { + try processPackage(stdout_stream, pkg); + } + } else if (step.cast(LibExeObjStep)) |exe| { + for (exe.packages.items) |pkg| { + try processPackage(stdout_stream, pkg); + } + } else { + for (step.dependencies.items) |unknown_step| { + try processStep(stdout_stream, unknown_step); } } }