authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-09-25 17:59:41-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-09-25 17:59:52-04:00
log568c183d2a5400a49e20f029a20ddb94db7d4082
tree73ab1d9a6ed542f3ef7513aafa4348ed6467e280
parentf112e8af2760f9b475289966db7c0c53f4c6b310
signaturelock-open Commit is signed but in an unrecognized format.

docgen: slightly better caching


1 files changed, 7 insertions(+), 10 deletions(-)

doc/docgen.zig+7-10
......@@ -1042,22 +1042,18 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var
10421042 switch (code.id) {
10431043 Code.Id.Exe => |expected_outcome| code_block: {
10441044 const name_plus_bin_ext = try std.fmt.allocPrint(allocator, "{}{}", code.name, exe_ext);
1045 const tmp_bin_file_name = try fs.path.join(
1046 allocator,
1047 [_][]const u8{ tmp_dir_name, name_plus_bin_ext },
1048 );
10491045 var build_args = std.ArrayList([]const u8).init(allocator);
10501046 defer build_args.deinit();
10511047 try build_args.appendSlice([_][]const u8{
10521048 zig_exe,
10531049 "build-exe",
10541050 tmp_source_file_name,
1055 "--output-dir",
1056 tmp_dir_name,
10571051 "--name",
10581052 code.name,
10591053 "--color",
10601054 "on",
1055 "--cache",
1056 "on",
10611057 });
10621058 try out.print("<pre><code class=\"shell\">$ zig build-exe {}.zig", code.name);
10631059 switch (code.mode) {
......@@ -1128,7 +1124,7 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var
11281124 try out.print("\n{}</code></pre>\n", colored_stderr);
11291125 break :code_block;
11301126 }
1131 _ = exec(allocator, &env_map, build_args.toSliceConst()) catch return parseError(tokenizer, code.source_token, "example failed to compile");
1127 const exec_result = exec(allocator, &env_map, build_args.toSliceConst()) catch return parseError(tokenizer, code.source_token, "example failed to compile");
11321128
11331129 if (code.target_str) |triple| {
11341130 if (mem.startsWith(u8, triple, "wasm32") or
......@@ -1141,7 +1137,8 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var
11411137 }
11421138 }
11431139
1144 const run_args = [_][]const u8{tmp_bin_file_name};
1140 const path_to_exe = mem.trim(u8, exec_result.stdout, " \r\n");
1141 const run_args = [_][]const u8{path_to_exe};
11451142
11461143 const result = if (expected_outcome == ExpectedOutcome.Fail) blk: {
11471144 const result = try ChildProcess.exec(allocator, run_args, null, &env_map, max_doc_file_size);
......@@ -1179,8 +1176,8 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var
11791176 zig_exe,
11801177 "test",
11811178 tmp_source_file_name,
1182 "--output-dir",
1183 tmp_dir_name,
1179 "--cache",
1180 "on",
11841181 });
11851182 try out.print("<pre><code class=\"shell\">$ zig test {}.zig", code.name);
11861183 switch (code.mode) {