authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-05-24 10:35:33-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-05-27 20:56:48-07:00
log2233d95b0f5edce5b2e0105ef78847fabe86f4d6
tree2141b4df2b95c2cac305618bbe9bd049f583610e
parentb27fdf92fb366aa7b28235822c7871ab9eae9859

main: avoid creating multiple std.Progress instances


1 files changed, 21 insertions(+), 21 deletions(-)

src/main.zig+21-21
...@@ -3408,7 +3408,11 @@ fn buildOutputType(...@@ -3408,7 +3408,11 @@ fn buildOutputType(
3408 return cmdTranslateC(comp, arena, null);3408 return cmdTranslateC(comp, arena, null);
3409 }3409 }
34103410
3411 updateModule(comp, color) catch |err| switch (err) {3411 const root_prog_node = std.Progress.start(.{
3412 .disable_printing = (color == .off),
3413 });
3414
3415 updateModule(comp, color, root_prog_node) catch |err| switch (err) {
3412 error.SemanticAnalyzeFail => {3416 error.SemanticAnalyzeFail => {
3413 assert(listen == .none);3417 assert(listen == .none);
3414 saveState(comp, debug_incremental);3418 saveState(comp, debug_incremental);
...@@ -4381,16 +4385,8 @@ fn runOrTestHotSwap(...@@ -4381,16 +4385,8 @@ fn runOrTestHotSwap(
4381 }4385 }
4382}4386}
43834387
4384fn updateModule(comp: *Compilation, color: Color) !void {4388fn updateModule(comp: *Compilation, color: Color, prog_node: std.Progress.Node) !void {
4385 {4389 try comp.update(prog_node);
4386 // If the terminal is dumb, we dont want to show the user all the output.
4387 const main_progress_node = std.Progress.start(.{
4388 .disable_printing = color == .off,
4389 });
4390 defer main_progress_node.end();
4391
4392 try comp.update(main_progress_node);
4393 }
43944390
4395 var errors = try comp.getAllErrorsAlloc();4391 var errors = try comp.getAllErrorsAlloc();
4396 defer errors.deinit(comp.gpa);4392 defer errors.deinit(comp.gpa);
...@@ -4797,6 +4793,10 @@ fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void {...@@ -4797,6 +4793,10 @@ fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void {
4797 const work_around_btrfs_bug = native_os == .linux and4793 const work_around_btrfs_bug = native_os == .linux and
4798 EnvVar.ZIG_BTRFS_WORKAROUND.isSet();4794 EnvVar.ZIG_BTRFS_WORKAROUND.isSet();
4799 const color: Color = .auto;4795 const color: Color = .auto;
4796 const root_prog_node = std.Progress.start(.{
4797 .disable_printing = (color == .off),
4798 });
4799 defer root_prog_node.end();
48004800
4801 const target_query: std.Target.Query = .{};4801 const target_query: std.Target.Query = .{};
4802 const resolved_target: Package.Module.ResolvedTarget = .{4802 const resolved_target: Package.Module.ResolvedTarget = .{
...@@ -4952,10 +4952,8 @@ fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void {...@@ -4952,10 +4952,8 @@ fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void {
4952 config,4952 config,
4953 );4953 );
4954 } else {4954 } else {
4955 const root_prog_node = std.Progress.start(.{4955 const fetch_prog_node = root_prog_node.start("Fetch Packages", 0);
4956 .root_name = "Fetch Packages",4956 defer fetch_prog_node.end();
4957 });
4958 defer root_prog_node.end();
49594957
4960 var job_queue: Package.Fetch.JobQueue = .{4958 var job_queue: Package.Fetch.JobQueue = .{
4961 .http_client = &http_client,4959 .http_client = &http_client,
...@@ -4996,7 +4994,7 @@ fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void {...@@ -4996,7 +4994,7 @@ fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void {
4996 .lazy_status = .eager,4994 .lazy_status = .eager,
4997 .parent_package_root = build_mod.root,4995 .parent_package_root = build_mod.root,
4998 .parent_manifest_ast = null,4996 .parent_manifest_ast = null,
4999 .prog_node = root_prog_node,4997 .prog_node = fetch_prog_node,
5000 .job_queue = &job_queue,4998 .job_queue = &job_queue,
5001 .omit_missing_hash_error = true,4999 .omit_missing_hash_error = true,
5002 .allow_missing_paths_field = false,5000 .allow_missing_paths_field = false,
...@@ -5135,7 +5133,7 @@ fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void {...@@ -5135,7 +5133,7 @@ fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void {
5135 };5133 };
5136 defer comp.destroy();5134 defer comp.destroy();
51375135
5138 updateModule(comp, color) catch |err| switch (err) {5136 updateModule(comp, color, root_prog_node) catch |err| switch (err) {
5139 error.SemanticAnalyzeFail => process.exit(2),5137 error.SemanticAnalyzeFail => process.exit(2),
5140 else => |e| return e,5138 else => |e| return e,
5141 };5139 };
...@@ -5229,7 +5227,7 @@ const JitCmdOptions = struct {...@@ -5229,7 +5227,7 @@ const JitCmdOptions = struct {
5229 prepend_zig_exe_path: bool = false,5227 prepend_zig_exe_path: bool = false,
5230 depend_on_aro: bool = false,5228 depend_on_aro: bool = false,
5231 capture: ?*[]u8 = null,5229 capture: ?*[]u8 = null,
5232 /// Send progress and error bundles via std.zig.Server over stdout5230 /// Send error bundles via std.zig.Server over stdout
5233 server: bool = false,5231 server: bool = false,
5234};5232};
52355233
...@@ -5240,6 +5238,9 @@ fn jitCmd(...@@ -5240,6 +5238,9 @@ fn jitCmd(
5240 options: JitCmdOptions,5238 options: JitCmdOptions,
5241) !void {5239) !void {
5242 const color: Color = .auto;5240 const color: Color = .auto;
5241 const root_prog_node = std.Progress.start(.{
5242 .disable_printing = (color == .off),
5243 });
52435244
5244 const target_query: std.Target.Query = .{};5245 const target_query: std.Target.Query = .{};
5245 const resolved_target: Package.Module.ResolvedTarget = .{5246 const resolved_target: Package.Module.ResolvedTarget = .{
...@@ -5377,14 +5378,13 @@ fn jitCmd(...@@ -5377,14 +5378,13 @@ fn jitCmd(
5377 defer comp.destroy();5378 defer comp.destroy();
53785379
5379 if (options.server) {5380 if (options.server) {
5380 const main_progress_node = std.Progress.start(.{});
5381 var server = std.zig.Server{5381 var server = std.zig.Server{
5382 .out = std.io.getStdOut(),5382 .out = std.io.getStdOut(),
5383 .in = undefined, // won't be receiving messages5383 .in = undefined, // won't be receiving messages
5384 .receive_fifo = undefined, // won't be receiving messages5384 .receive_fifo = undefined, // won't be receiving messages
5385 };5385 };
53865386
5387 try comp.update(main_progress_node);5387 try comp.update(root_prog_node);
53885388
5389 var error_bundle = try comp.getAllErrorsAlloc();5389 var error_bundle = try comp.getAllErrorsAlloc();
5390 defer error_bundle.deinit(comp.gpa);5390 defer error_bundle.deinit(comp.gpa);
...@@ -5393,7 +5393,7 @@ fn jitCmd(...@@ -5393,7 +5393,7 @@ fn jitCmd(
5393 process.exit(2);5393 process.exit(2);
5394 }5394 }
5395 } else {5395 } else {
5396 updateModule(comp, color) catch |err| switch (err) {5396 updateModule(comp, color, root_prog_node) catch |err| switch (err) {
5397 error.SemanticAnalyzeFail => process.exit(2),5397 error.SemanticAnalyzeFail => process.exit(2),
5398 else => |e| return e,5398 else => |e| return e,
5399 };5399 };