Skip to content

Commit

Permalink
Auto merge of rust-lang#84289 - andersk:bootstrap-bulk-dir, r=Mark-Si…
Browse files Browse the repository at this point in the history
…mulacrum

bootstrap: Restore missing --bulk-dirs for rust-docs, rustc-docs

The `--bulk-dirs` argument was removed for rust-docs in commit c768ce1 and rustc-docs in commit 8ca46fc (rust-lang#79788), presumably by mistake; that slowed down installation of rust-docs from under a second to some twenty *minutes*.  Restoring `--bulk-dirs` reverses this slowdown.

Fixes rust-lang#80684.

Cc `@pietroalbini.`
  • Loading branch information
bors committed Apr 22, 2021
2 parents 71965ab + 6dfd700 commit 88b99de
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/bootstrap/dist.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ impl Step for Docs {

let mut tarball = Tarball::new(builder, "rust-docs", &host.triple);
tarball.set_product_name("Rust Documentation");
tarball.add_dir(&builder.doc_out(host), dest);
tarball.add_bulk_dir(&builder.doc_out(host), dest);
tarball.add_file(&builder.src.join("src/doc/robots.txt"), dest, 0o644);
Some(tarball.generate())
}
Expand Down Expand Up @@ -107,7 +107,7 @@ impl Step for RustcDocs {

let mut tarball = Tarball::new(builder, "rustc-docs", &host.triple);
tarball.set_product_name("Rustc Documentation");
tarball.add_dir(&builder.compiler_doc_out(host), "share/doc/rust/html/rustc");
tarball.add_bulk_dir(&builder.compiler_doc_out(host), "share/doc/rust/html/rustc");
Some(tarball.generate())
}
}
Expand Down
17 changes: 17 additions & 0 deletions src/bootstrap/tarball.rs
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ pub(crate) struct Tarball<'a> {
temp_dir: PathBuf,
image_dir: PathBuf,
overlay_dir: PathBuf,
bulk_dirs: Vec<PathBuf>,

include_target_in_component_name: bool,
is_preview: bool,
Expand Down Expand Up @@ -137,6 +138,7 @@ impl<'a> Tarball<'a> {
temp_dir,
image_dir,
overlay_dir,
bulk_dirs: Vec::new(),

include_target_in_component_name: false,
is_preview: false,
Expand Down Expand Up @@ -201,6 +203,11 @@ impl<'a> Tarball<'a> {
self.builder.cp_r(src.as_ref(), &dest);
}

pub(crate) fn add_bulk_dir(&mut self, src: impl AsRef<Path>, dest: impl AsRef<Path>) {
self.bulk_dirs.push(dest.as_ref().to_path_buf());
self.add_dir(src, dest);
}

pub(crate) fn generate(self) -> GeneratedTarball {
let mut component_name = self.component.clone();
if self.is_preview {
Expand All @@ -221,6 +228,16 @@ impl<'a> Tarball<'a> {
.arg("--image-dir")
.arg(&this.image_dir)
.arg(format!("--component-name={}", &component_name));

if let Some((dir, dirs)) = this.bulk_dirs.split_first() {
let mut arg = dir.as_os_str().to_os_string();
for dir in dirs {
arg.push(",");
arg.push(dir);
}
cmd.arg("--bulk-dirs").arg(&arg);
}

this.non_bare_args(cmd);
})
}
Expand Down

0 comments on commit 88b99de

Please sign in to comment.