Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Prev Previous commit
Next Next commit
generate-copyright: Better errors, and better variable names.
Also fixes a bug where we were checking the *wrong* copyright file...
  • Loading branch information
jonathanpallant committed Nov 22, 2024
commit 4a11fa60f422a6c761720a319642f18ff633a508
2 changes: 1 addition & 1 deletion src/bootstrap/src/core/build_steps/run.rs
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ impl Step for GenerateCopyright {
cmd.env("DEST", &dest);
cmd.env("DEST_LIBSTD", &dest_libstd);
cmd.env("OUT_DIR", &builder.out);
cmd.env("CHECK", "0");
cmd.env("ONLY_CHECK", "0");
cmd.env("CARGO", &builder.initial_cargo);
cmd.run(builder);

Expand Down
6 changes: 3 additions & 3 deletions src/bootstrap/src/core/build_steps/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3631,15 +3631,15 @@ impl Step for GenerateCopyright {
let license_metadata =
builder.ensure(crate::core::build_steps::run::CollectLicenseMetadata);

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

let mut cmd = builder.tool_cmd(Tool::GenerateCopyright);
cmd.env("LICENSE_METADATA", &license_metadata);
cmd.env("DEST", &dest);
cmd.env("DEST_LIBSTD", &dest_libstd);
cmd.env("OUT_DIR", &builder.out);
cmd.env("CHECK", "1");
cmd.env("ONLY_CHECK", "1");
cmd.env("CARGO", &builder.initial_cargo);
cmd.run(builder);
}
Expand Down
15 changes: 10 additions & 5 deletions src/tools/generate-copyright/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use std::collections::BTreeMap;
use std::path::{Path, PathBuf};

use anyhow::Error;
use anyhow::{Context, Error};
use rinja::Template;

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

let out_dir = env_path("OUT_DIR")?;
let cargo = env_path("CARGO")?;
Expand Down Expand Up @@ -60,7 +60,7 @@ fn main() -> Result<(), Error> {
dependencies: collected_cargo_metadata,
};
let output = template.render()?;
if check_existing {
if only_check_existing {
check_file_contents(&dest_file, &output)?;
} else {
std::fs::write(&dest_file, &output)?;
Expand All @@ -72,7 +72,7 @@ fn main() -> Result<(), Error> {
dependencies: library_collected_cargo_metadata,
};
let output = template.render()?;
if check_existing {
if only_check_existing {
check_file_contents(&libstd_dest_file, &output)?;
} else {
std::fs::write(&libstd_dest_file, &output)?;
Expand All @@ -83,7 +83,12 @@ fn main() -> Result<(), Error> {

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