@@ -4,6 +4,26 @@ use crate::core::build_steps::tool::SUBMODULES_FOR_RUSTBOOK;
44use crate :: core:: builder:: { Builder , RunConfig , ShouldRun , Step } ;
55use crate :: utils:: exec:: command;
66
7+ /// List of default paths used for vendoring for `x vendor` and dist tarballs.
8+ pub fn default_paths_to_vendor ( builder : & Builder < ' _ > ) -> Vec < PathBuf > {
9+ let mut paths = vec ! [ ] ;
10+ for p in [
11+ "src/tools/cargo/Cargo.toml" ,
12+ "src/tools/rust-analyzer/Cargo.toml" ,
13+ "compiler/rustc_codegen_cranelift/Cargo.toml" ,
14+ "compiler/rustc_codegen_gcc/Cargo.toml" ,
15+ "library/Cargo.toml" ,
16+ "src/bootstrap/Cargo.toml" ,
17+ "src/tools/rustbook/Cargo.toml" ,
18+ "src/tools/rustc-perf/Cargo.toml" ,
19+ "src/tools/opt-dist/Cargo.toml" ,
20+ ] {
21+ paths. push ( builder. src . join ( p) ) ;
22+ }
23+
24+ paths
25+ }
26+
727#[ derive( Debug , Clone , Hash , PartialEq , Eq ) ]
828pub ( crate ) struct Vendor {
929 sync_args : Vec < PathBuf > ,
@@ -42,16 +62,8 @@ impl Step for Vendor {
4262 }
4363
4464 // Sync these paths by default.
45- for p in [
46- "src/tools/cargo/Cargo.toml" ,
47- "src/tools/rust-analyzer/Cargo.toml" ,
48- "compiler/rustc_codegen_cranelift/Cargo.toml" ,
49- "compiler/rustc_codegen_gcc/Cargo.toml" ,
50- "library/Cargo.toml" ,
51- "src/bootstrap/Cargo.toml" ,
52- "src/tools/rustbook/Cargo.toml" ,
53- ] {
54- cmd. arg ( "--sync" ) . arg ( builder. src . join ( p) ) ;
65+ for p in default_paths_to_vendor ( builder) {
66+ cmd. arg ( "--sync" ) . arg ( p) ;
5567 }
5668
5769 // Also sync explicitly requested paths.
0 commit comments