diff --git a/Cargo.lock b/Cargo.lock index 0f4033d7..411b72c6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -123,7 +123,6 @@ dependencies = [ "scopeguard", "semver", "serde", - "serde_json", "simplelog", "strum", "strum_macros", diff --git a/Cargo.toml b/Cargo.toml index 5ef85eb5..26541c2a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,7 +39,6 @@ reqwest = { version = "0.11.11", features = ["stream"], default-features = false scopeguard = "1.1.0" semver = "1.0.12" serde = { version = "1.0.140", features = ["derive"] } -serde_json = "1.0.82" simplelog = "0.12.0" strum = "0.24.1" strum_macros = "0.24.2" diff --git a/src/main.rs b/src/main.rs index b5a79ad0..8e250165 100644 --- a/src/main.rs +++ b/src/main.rs @@ -349,21 +349,6 @@ async fn entry(jobserver_client: LazyJobserverClient) -> Result<()> { .iter() .map(|metadata| (&metadata.cvs, metadata.bins.clone())), )?; - - debug!("Writing .crates2.json"); - metafiles::v2::Crates2Json::append(metadata_vec.into_iter().map(|metadata| { - ( - metadata.cvs, - metafiles::v2::CrateInfo { - version_req: Some(metadata.version_req), - bins: metadata.bins, - profile: "release".into(), - target: metadata.target, - rustc: format!("{} {}", env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION")), - ..Default::default() - }, - ) - }))?; } if opts.no_cleanup { diff --git a/src/metafiles.rs b/src/metafiles.rs index 06323a52..75ad0250 100644 --- a/src/metafiles.rs +++ b/src/metafiles.rs @@ -2,4 +2,3 @@ mod cvs; pub use cvs::*; pub mod v1; -pub mod v2; diff --git a/src/metafiles/v2.rs b/src/metafiles/v2.rs deleted file mode 100644 index 1db6fb42..00000000 --- a/src/metafiles/v2.rs +++ /dev/null @@ -1,125 +0,0 @@ -use std::{ - collections::{BTreeMap, BTreeSet}, - fs, - io::{self, Seek}, - iter::IntoIterator, - path::{Path, PathBuf}, -}; - -use miette::Diagnostic; -use serde::{Deserialize, Serialize}; -use thiserror::Error; - -use super::CrateVersionSource; -use crate::{cargo_home, create_if_not_exist, FileLock}; - -#[derive(Clone, Debug, Default, Deserialize, Serialize)] -pub struct Crates2Json { - pub installs: BTreeMap, -} - -#[derive(Clone, Debug, Default, Deserialize, Serialize)] -pub struct CrateInfo { - #[serde(default)] - pub version_req: Option, - - #[serde(default)] - pub bins: BTreeSet, - - #[serde(default)] - pub features: BTreeSet, - - #[serde(default)] - pub all_features: bool, - - #[serde(default)] - pub no_default_features: bool, - - pub profile: String, - pub target: String, - pub rustc: String, -} - -impl Crates2Json { - pub fn default_path() -> Result { - Ok(cargo_home()?.join(".crates2.json")) - } - - pub fn load() -> Result { - Self::load_from_path(Self::default_path()?) - } - - pub fn load_from_reader(reader: R) -> Result { - Ok(serde_json::from_reader(reader)?) - } - - pub fn load_from_path(path: impl AsRef) -> Result { - let file = fs::File::open(path.as_ref())?; - Self::load_from_reader(file) - } - - pub fn insert(&mut self, cvs: &CrateVersionSource, info: CrateInfo) { - self.installs.insert(cvs.to_string(), info); - } - - pub fn write(&self) -> Result<(), Crates2JsonParseError> { - self.write_to_path(Self::default_path()?) - } - - pub fn write_to_writer(&self, writer: W) -> Result<(), Crates2JsonParseError> { - serde_json::to_writer(writer, &self)?; - Ok(()) - } - - pub fn write_to_file(&self, file: &mut fs::File) -> Result<(), Crates2JsonParseError> { - self.write_to_writer(&mut *file)?; - let pos = file.stream_position()?; - file.set_len(pos)?; - - Ok(()) - } - - pub fn write_to_path(&self, path: impl AsRef) -> Result<(), Crates2JsonParseError> { - let file = fs::File::create(path.as_ref())?; - self.write_to_writer(file) - } - - pub fn append_to_path( - path: impl AsRef, - iter: Iter, - ) -> Result<(), Crates2JsonParseError> - where - Iter: IntoIterator, - { - let mut file = FileLock::new_exclusive(create_if_not_exist(path.as_ref())?)?; - let mut c2 = Self::load_from_reader(&mut *file)?; - - for (cvs, info) in iter { - c2.insert(&cvs, info); - } - - file.rewind()?; - c2.write_to_file(&mut *file)?; - - Ok(()) - } - - pub fn append(iter: Iter) -> Result<(), Crates2JsonParseError> - where - Iter: IntoIterator, - { - Self::append_to_path(Self::default_path()?, iter) - } -} - -#[derive(Debug, Diagnostic, Error)] -pub enum Crates2JsonParseError { - #[error(transparent)] - Io(#[from] io::Error), - - #[error(transparent)] - Json(#[from] serde_json::Error), - - #[error(transparent)] - CvsParse(#[from] super::CvsParseError), -}