File tree Expand file tree Collapse file tree 2 files changed +226
-141
lines changed
Expand file tree Collapse file tree 2 files changed +226
-141
lines changed Original file line number Diff line number Diff line change 1+ // This file implements a fail step for the build system
2+ // it's taken from Zig 0.14.0-dev and pasted here to be
3+ // used temporarily while we still target Zig 0.13.0
4+ const std = @import ("std" );
5+ const Step = std .Build .Step ;
6+ const Fail = @This ();
7+
8+ step : Step ,
9+ error_msg : []const u8 ,
10+
11+ pub const base_id : Step.Id = .custom ;
12+
13+ pub fn create (owner : * std.Build , error_msg : []const u8 ) * Fail {
14+ const fail = owner .allocator .create (Fail ) catch @panic ("OOM" );
15+
16+ fail .* = .{
17+ .step = Step .init (.{
18+ .id = base_id ,
19+ .name = "fail" ,
20+ .owner = owner ,
21+ .makeFn = make ,
22+ }),
23+ .error_msg = owner .dupe (error_msg ),
24+ };
25+
26+ return fail ;
27+ }
28+
29+ fn make (step : * Step , prog_node : std.Progress.Node ) ! void {
30+ _ = prog_node ;
31+
32+ const fail : * Fail = @fieldParentPtr ("step" , step );
33+
34+ try step .result_error_msgs .append (step .owner .allocator , fail .error_msg );
35+
36+ return error .MakeFailed ;
37+ }
You can’t perform that action at this time.
0 commit comments