about summary refs log tree commit diff
path: root/src/bootstrap
diff options
context:
space:
mode:
authorsteveklabnik <steve@steveklabnik.com>2017-03-07 16:29:05 -0500
committersteveklabnik <steve@steveklabnik.com>2017-03-20 10:10:15 -0400
commitc97b48f261f05581ef0df161ff1cf0bc2946903e (patch)
tree0cd016c738bdcdc977b0fd7f824fbc70ee71bb8e /src/bootstrap
parent422330df2853695987f47cc8c5e25a36e232ea27 (diff)
downloadrust-c97b48f261f05581ef0df161ff1cf0bc2946903e.tar.gz
rust-c97b48f261f05581ef0df161ff1cf0bc2946903e.zip
Fix up some issues.
Becuase I had run a `x.py doc` before doing this work, I had
accidentally relied on some files existing in places that they didn't
need to be.
Diffstat (limited to 'src/bootstrap')
-rw-r--r--src/bootstrap/doc.rs15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs
index 26bcaf13456..da87b3bfe0c 100644
--- a/src/bootstrap/doc.rs
+++ b/src/bootstrap/doc.rs
@@ -70,9 +70,11 @@ pub fn book(build: &Build, target: &str, name: &str) {
 
     // build the index page
     let index = format!("{}/index.md", name);
+    println!("Documenting book index ({})", target);
     invoke_rustdoc(build, target, &index);
     
     // build the redirect pages
+    println!("Documenting book redirect pages ({})", target);
     for file in t!(fs::read_dir(build.src.join("src/doc/book/redirects"))) {
         let file = t!(file);
         let path = file.path();
@@ -93,16 +95,27 @@ fn invoke_rustdoc(build: &Build, target: &str, markdown: &str) {
 
     let favicon = build.src.join("src/doc/favicon.inc");
     let footer = build.src.join("src/doc/footer.inc");
-    t!(fs::copy(build.src.join("src/doc/rust.css"), out.join("rust.css")));
 
+    let version_input = build.src.join("src/doc/version_info.html.template");
     let version_info = out.join("version_info.html");
 
+    if !up_to_date(&version_input, &version_info) {
+        let mut info = String::new();
+        t!(t!(File::open(&version_input)).read_to_string(&mut info));
+        let info = info.replace("VERSION", &build.rust_release())
+                       .replace("SHORT_HASH", build.rust_info.sha_short().unwrap_or(""))
+                       .replace("STAMP", build.rust_info.sha().unwrap_or(""));
+        t!(t!(File::create(&version_info)).write_all(info.as_bytes()));
+    }
+
     let mut cmd = Command::new(&rustdoc);
 
     build.add_rustc_lib_path(&compiler, &mut cmd);
 
     let out = out.join("book");
 
+    t!(fs::copy(build.src.join("src/doc/rust.css"), out.join("rust.css")));
+
     cmd.arg("--html-after-content").arg(&footer)
         .arg("--html-before-content").arg(&version_info)
         .arg("--html-in-header").arg(&favicon)