Skip to content

Commit 4a11fa6

Browse files
generate-copyright: Better errors, and better variable names.
Also fixes a bug where we were checking the *wrong* copyright file...
1 parent 7424afe commit 4a11fa6

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed

src/bootstrap/src/core/build_steps/run.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ impl Step for GenerateCopyright {
219219
cmd.env("DEST", &dest);
220220
cmd.env("DEST_LIBSTD", &dest_libstd);
221221
cmd.env("OUT_DIR", &builder.out);
222-
cmd.env("CHECK", "0");
222+
cmd.env("ONLY_CHECK", "0");
223223
cmd.env("CARGO", &builder.initial_cargo);
224224
cmd.run(builder);
225225

src/bootstrap/src/core/build_steps/test.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3631,15 +3631,15 @@ impl Step for GenerateCopyright {
36313631
let license_metadata =
36323632
builder.ensure(crate::core::build_steps::run::CollectLicenseMetadata);
36333633

3634-
let dest = builder.out.join("COPYRIGHT.html");
3635-
let dest_libstd = builder.out.join("COPYRIGHT-library.html");
3634+
let dest = builder.src.join("COPYRIGHT.html");
3635+
let dest_libstd = builder.src.join("COPYRIGHT-library.html");
36363636

36373637
let mut cmd = builder.tool_cmd(Tool::GenerateCopyright);
36383638
cmd.env("LICENSE_METADATA", &license_metadata);
36393639
cmd.env("DEST", &dest);
36403640
cmd.env("DEST_LIBSTD", &dest_libstd);
36413641
cmd.env("OUT_DIR", &builder.out);
3642-
cmd.env("CHECK", "1");
3642+
cmd.env("ONLY_CHECK", "1");
36433643
cmd.env("CARGO", &builder.initial_cargo);
36443644
cmd.run(builder);
36453645
}

src/tools/generate-copyright/src/main.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use std::collections::BTreeMap;
22
use std::path::{Path, PathBuf};
33

4-
use anyhow::Error;
4+
use anyhow::{Context, Error};
55
use rinja::Template;
66

77
mod cargo_metadata;
@@ -15,7 +15,7 @@ mod cargo_metadata;
1515
fn main() -> Result<(), Error> {
1616
let dest_file = env_path("DEST")?;
1717
let libstd_dest_file = env_path("DEST_LIBSTD")?;
18-
let check_existing = env_str("CHECK")? == "1";
18+
let only_check_existing = env_str("ONLY_CHECK")? == "1";
1919

2020
let out_dir = env_path("OUT_DIR")?;
2121
let cargo = env_path("CARGO")?;
@@ -60,7 +60,7 @@ fn main() -> Result<(), Error> {
6060
dependencies: collected_cargo_metadata,
6161
};
6262
let output = template.render()?;
63-
if check_existing {
63+
if only_check_existing {
6464
check_file_contents(&dest_file, &output)?;
6565
} else {
6666
std::fs::write(&dest_file, &output)?;
@@ -72,7 +72,7 @@ fn main() -> Result<(), Error> {
7272
dependencies: library_collected_cargo_metadata,
7373
};
7474
let output = template.render()?;
75-
if check_existing {
75+
if only_check_existing {
7676
check_file_contents(&libstd_dest_file, &output)?;
7777
} else {
7878
std::fs::write(&libstd_dest_file, &output)?;
@@ -83,7 +83,12 @@ fn main() -> Result<(), Error> {
8383

8484
/// Check two files have the same contents
8585
fn check_file_contents(path: &Path, new_contents: &str) -> Result<(), Error> {
86-
let orig_contents = std::fs::read_to_string(&path)?;
86+
let orig_contents = std::fs::read_to_string(&path).with_context(|| {
87+
format!(
88+
"File {} failed to read. Run `x run tools/generate-copyright` to regenerate it.",
89+
path.display()
90+
)
91+
})?;
8792
if orig_contents != new_contents {
8893
anyhow::bail!(
8994
"File {} is out of date. Run `x run tools/generate-copyright` to regenerate it.",

0 commit comments

Comments
 (0)