From ad4173fe2ffd7e8a1d10ca5cab8f4d406ddb2ff9 Mon Sep 17 00:00:00 2001 From: Justin Rubek <25621857+justinrubek@users.noreply.github.com> Date: Sat, 1 Apr 2023 18:29:01 -0500 Subject: [PATCH] refactor!: Stop using implicit cargo metadata Previously, `Cargo.toml` files were loaded in a way that introduced implicit metadata, which could cause incorrect behavior in manifests updated by *bomper*. This commit removes the unnecessary metadata and ensures that *bomper* will not write excess data when overwriting files. --- src/replacers/cargo.rs | 4 +++- src/tests/mod.rs | 10 ---------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/replacers/cargo.rs b/src/replacers/cargo.rs index c1c1b08..d1683fc 100644 --- a/src/replacers/cargo.rs +++ b/src/replacers/cargo.rs @@ -75,8 +75,10 @@ impl Replacer for CargoReplacer { // Update each package's Cargo.toml with the new version for package in packages { let cargo_toml_path = package.manifest_path; + let cargo_toml_content = std::fs::read(&cargo_toml_path)?; - let mut cargo_toml = cargo_toml::Manifest::from_path(&cargo_toml_path)?; + let mut cargo_toml = cargo_toml::Manifest::from_slice(&cargo_toml_content)?; + // let mut cargo_toml = cargo_toml::Manifest::from_path(&cargo_toml_path)?; let toml_package = match cargo_toml.package { Some(ref mut package) => package, diff --git a/src/tests/mod.rs b/src/tests/mod.rs index c716827..82e1515 100644 --- a/src/tests/mod.rs +++ b/src/tests/mod.rs @@ -165,11 +165,6 @@ name = "package1" edition = "2018" version = "0.1.0" -[[bin]] -path = "src/main.rs" -name = "package1" -required-features = [] - [dependencies] package2 = "0.1.0" package3 = "0.1.0" @@ -184,11 +179,6 @@ version = "0.2.0" [dependencies] package2 = "0.1.0" package3 = "0.1.0" - -[[bin]] -path = "src/main.rs" -name = "package1" -required-features = [] "#; jail.create_file(