Skip to content

Commit 550d1b4

Browse files
committed
Auto merge of #125207 - GuillaumeGomez:migrate-rustdoc-scrape-examples-ordering, r=jieyouxu
Migrate `run-make/rustdoc-scrape-examples-remap` to `rmake.rs` Part of #121876. r? `@jieyouxu`
2 parents ddba1dc + 272fc89 commit 550d1b4

File tree

5 files changed

+57
-52
lines changed

5 files changed

+57
-52
lines changed

src/tools/tidy/src/allowed_run_make_makefiles.txt

-1
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,6 @@ run-make/rustdoc-io-error/Makefile
239239
run-make/rustdoc-scrape-examples-invalid-expr/Makefile
240240
run-make/rustdoc-scrape-examples-macros/Makefile
241241
run-make/rustdoc-scrape-examples-multiple/Makefile
242-
run-make/rustdoc-scrape-examples-remap/Makefile
243242
run-make/rustdoc-scrape-examples-test/Makefile
244243
run-make/rustdoc-scrape-examples-whitespace/Makefile
245244
run-make/rustdoc-verify-output-files/Makefile
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,6 @@
1-
use run_make_support::{htmldocck, rustc, rustdoc, source_path, tmp_dir};
2-
use std::fs::read_dir;
3-
use std::path::Path;
1+
#[path = "../rustdoc-scrape-examples-remap/scrape.rs"]
2+
mod scrape;
43

54
fn main() {
6-
let lib_dir = tmp_dir();
7-
let out_dir = tmp_dir().join("rustdoc");
8-
let crate_name = "foobar";
9-
let deps = read_dir("examples")
10-
.unwrap()
11-
.filter_map(|entry| entry.ok().map(|e| e.path()))
12-
.filter(|path| path.is_file() && path.extension().is_some_and(|ext| ext == "rs"))
13-
.collect::<Vec<_>>();
14-
15-
rustc().input("src/lib.rs").crate_name(crate_name).crate_type("lib").emit("metadata").run();
16-
17-
let mut out_deps = Vec::with_capacity(deps.len());
18-
for dep in deps {
19-
let dep_stem = dep.file_stem().unwrap();
20-
let out_example = out_dir.join(format!("{}.calls", dep_stem.to_str().unwrap()));
21-
rustdoc()
22-
.input(&dep)
23-
.crate_name(&dep_stem)
24-
.crate_type("bin")
25-
.output(&out_dir)
26-
.extern_(crate_name, lib_dir.join(format!("lib{crate_name}.rmeta")))
27-
.arg("-Zunstable-options")
28-
.arg("--scrape-examples-output-path")
29-
.arg(&out_example)
30-
.arg("--scrape-examples-target-crate")
31-
.arg(crate_name)
32-
.run();
33-
out_deps.push(out_example);
34-
}
35-
36-
let mut rustdoc = rustdoc();
37-
rustdoc
38-
.input("src/lib.rs")
39-
.output(&out_dir)
40-
.crate_name(crate_name)
41-
.crate_type("lib")
42-
.arg("-Zunstable-options");
43-
for dep in out_deps {
44-
rustdoc.arg("--with-examples").arg(dep);
45-
}
46-
rustdoc.run();
47-
48-
assert!(htmldocck().arg(out_dir).arg("src/lib.rs").status().unwrap().success());
5+
scrape::scrape();
496
}

tests/run-make/rustdoc-scrape-examples-remap/Makefile

-5
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
mod scrape;
2+
3+
fn main() {
4+
scrape::scrape();
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
use run_make_support::{htmldocck, rustc, rustdoc, source_path, tmp_dir};
2+
use std::fs::read_dir;
3+
use std::path::Path;
4+
5+
pub fn scrape() {
6+
let lib_dir = tmp_dir();
7+
let out_dir = tmp_dir().join("rustdoc");
8+
let crate_name = "foobar";
9+
let deps = read_dir("examples")
10+
.unwrap()
11+
.filter_map(|entry| entry.ok().map(|e| e.path()))
12+
.filter(|path| path.is_file() && path.extension().is_some_and(|ext| ext == "rs"))
13+
.collect::<Vec<_>>();
14+
15+
rustc().input("src/lib.rs").crate_name(crate_name).crate_type("lib").emit("metadata").run();
16+
17+
let mut out_deps = Vec::with_capacity(deps.len());
18+
for dep in deps {
19+
let dep_stem = dep.file_stem().unwrap();
20+
let out_example = out_dir.join(format!("{}.calls", dep_stem.to_str().unwrap()));
21+
rustdoc()
22+
.input(&dep)
23+
.crate_name(&dep_stem)
24+
.crate_type("bin")
25+
.output(&out_dir)
26+
.extern_(crate_name, lib_dir.join(format!("lib{crate_name}.rmeta")))
27+
.arg("-Zunstable-options")
28+
.arg("--scrape-examples-output-path")
29+
.arg(&out_example)
30+
.arg("--scrape-examples-target-crate")
31+
.arg(crate_name)
32+
.run();
33+
out_deps.push(out_example);
34+
}
35+
36+
let mut rustdoc = rustdoc();
37+
rustdoc
38+
.input("src/lib.rs")
39+
.output(&out_dir)
40+
.crate_name(crate_name)
41+
.crate_type("lib")
42+
.arg("-Zunstable-options");
43+
for dep in out_deps {
44+
rustdoc.arg("--with-examples").arg(dep);
45+
}
46+
rustdoc.run();
47+
48+
assert!(htmldocck().arg(out_dir).arg("src/lib.rs").status().unwrap().success());
49+
}

0 commit comments

Comments
 (0)