| ... | @@ -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 | } |
| 3410 | | 3410 | |
| 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 | } |
| 4383 | | 4387 | |
| 4384 | fn updateModule(comp: *Compilation, color: Color) !void { | 4388 | fn 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 | } | | |
| 4394 | | 4390 | |
| 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 and | 4793 | 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(); |
| 4800 | | 4800 | |
| 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(); | | |
| 4959 | | 4957 | |
| 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(); |
| 5137 | | 5135 | |
| 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 stdout | 5230 | /// Send error bundles via std.zig.Server over stdout |
| 5233 | server: bool = false, | 5231 | server: bool = false, |
| 5234 | }; | 5232 | }; |
| 5235 | | 5233 | |
| ... | @@ -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 | }); |
| 5243 | | 5244 | |
| 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(); |
| 5378 | | 5379 | |
| 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 messages | 5383 | .in = undefined, // won't be receiving messages |
| 5384 | .receive_fifo = undefined, // won't be receiving messages | 5384 | .receive_fifo = undefined, // won't be receiving messages |
| 5385 | }; | 5385 | }; |
| 5386 | | 5386 | |
| 5387 | try comp.update(main_progress_node); | 5387 | try comp.update(root_prog_node); |
| 5388 | | 5388 | |
| 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 | }; |