summaryrefslogtreecommitdiffstats
path: root/src/tools/jsondoclint
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:59:24 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:59:24 +0000
commit023939b627b7dc93b01471f7d41fb8553ddb4ffa (patch)
tree60fc59477c605c72b0a1051409062ddecc43f877 /src/tools/jsondoclint
parentAdding debian version 1.72.1+dfsg1-1. (diff)
downloadrustc-023939b627b7dc93b01471f7d41fb8553ddb4ffa.tar.xz
rustc-023939b627b7dc93b01471f7d41fb8553ddb4ffa.zip
Merging upstream version 1.73.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/tools/jsondoclint')
-rw-r--r--src/tools/jsondoclint/src/main.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/tools/jsondoclint/src/main.rs b/src/tools/jsondoclint/src/main.rs
index ee163ddfd..aaaba78cb 100644
--- a/src/tools/jsondoclint/src/main.rs
+++ b/src/tools/jsondoclint/src/main.rs
@@ -1,4 +1,5 @@
use std::io::{BufWriter, Write};
+use std::path::{Path, PathBuf};
use anyhow::{bail, Result};
use clap::Parser;
@@ -25,7 +26,7 @@ enum ErrorKind {
#[derive(Debug, Serialize)]
struct JsonOutput {
- path: String,
+ path: PathBuf,
errors: Vec<Error>,
}
@@ -45,6 +46,12 @@ struct Cli {
fn main() -> Result<()> {
let Cli { path, verbose, json_output } = Cli::parse();
+ // We convert `-` into `_` for the file name to be sure the JSON path will always be correct.
+ let path = Path::new(&path);
+ let filename = path.file_name().unwrap().to_str().unwrap().replace('-', "_");
+ let parent = path.parent().unwrap();
+ let path = parent.join(&filename);
+
let contents = fs::read_to_string(&path)?;
let krate: Crate = serde_json::from_str(&contents)?;
assert_eq!(krate.format_version, FORMAT_VERSION);
@@ -101,7 +108,7 @@ fn main() -> Result<()> {
ErrorKind::Custom(msg) => eprintln!("{}: {}", err.id.0, msg),
}
}
- bail!("Errors validating json {path}");
+ bail!("Errors validating json {}", path.display());
}
Ok(())