From 3a0429c998f4003ddfa809ae92b20e79c6e37d9e Mon Sep 17 00:00:00 2001 From: Maksym Pavlenko Date: Tue, 17 May 2022 14:04:38 -0700 Subject: [PATCH] cargo: Clean up serde dependencies There is no need to include serde_derive separately, as it can be specified as serde feature instead. Signed-off-by: Maksym Pavlenko --- Cargo.lock | 12 +++--------- arch/Cargo.toml | 3 +-- arch/src/lib.rs | 3 +-- event_monitor/Cargo.toml | 3 +-- event_monitor/src/lib.rs | 4 +--- hypervisor/Cargo.toml | 3 +-- hypervisor/src/kvm/aarch64/mod.rs | 2 +- hypervisor/src/kvm/mod.rs | 2 +- hypervisor/src/kvm/x86_64/mod.rs | 2 +- hypervisor/src/mshv/mod.rs | 2 +- hypervisor/src/mshv/x86_64/mod.rs | 2 +- pci/Cargo.toml | 3 +-- performance-metrics/Cargo.toml | 3 +-- performance-metrics/src/main.rs | 2 +- virtio-devices/Cargo.toml | 3 +-- virtio-devices/src/lib.rs | 3 +-- vm-device/Cargo.toml | 3 +-- vm-device/src/lib.rs | 3 +-- vm-migration/Cargo.toml | 3 +-- vm-migration/src/lib.rs | 3 --- vm-migration/src/protocol.rs | 1 + vmm/Cargo.toml | 3 +-- vmm/src/api/mod.rs | 1 + vmm/src/config.rs | 1 + vmm/src/device_manager.rs | 1 + vmm/src/device_tree.rs | 1 + vmm/src/lib.rs | 5 ++--- vmm/src/memory_manager.rs | 1 + vmm/src/vm.rs | 1 + 29 files changed, 31 insertions(+), 48 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 01aed4e97..6e8e8d274 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -50,7 +50,6 @@ dependencies = [ "linux-loader", "log", "serde", - "serde_derive", "thiserror", "versionize", "versionize_derive", @@ -266,7 +265,6 @@ version = "0.1.0" dependencies = [ "libc", "serde", - "serde_derive", "serde_json", ] @@ -353,7 +351,6 @@ dependencies = [ "mshv-bindings", "mshv-ioctls", "serde", - "serde_derive", "serde_json", "thiserror", "vm-memory", @@ -656,7 +653,6 @@ dependencies = [ "libc", "log", "serde", - "serde_derive", "thiserror", "versionize", "versionize_derive", @@ -677,7 +673,6 @@ dependencies = [ "clap", "dirs", "serde", - "serde_derive", "serde_json", "test_infra", "thiserror", @@ -905,6 +900,9 @@ name = "serde" version = "1.0.137" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" +dependencies = [ + "serde_derive", +] [[package]] name = "serde_derive" @@ -1260,7 +1258,6 @@ dependencies = [ "rate_limiter", "seccompiler", "serde", - "serde_derive", "serde_json", "thiserror", "versionize", @@ -1303,7 +1300,6 @@ dependencies = [ "anyhow", "hypervisor", "serde", - "serde_derive", "serde_json", "thiserror", "vfio-ioctls", @@ -1333,7 +1329,6 @@ version = "0.1.0" dependencies = [ "anyhow", "serde", - "serde_derive", "serde_json", "thiserror", "versionize", @@ -1379,7 +1374,6 @@ dependencies = [ "qcow", "seccompiler", "serde", - "serde_derive", "serde_json", "signal-hook", "thiserror", diff --git a/arch/Cargo.toml b/arch/Cargo.toml index 80282fe79..0241b13ca 100644 --- a/arch/Cargo.toml +++ b/arch/Cargo.toml @@ -16,8 +16,7 @@ hypervisor = { path = "../hypervisor" } libc = "0.2.125" linux-loader = { version = "0.4.0", features = ["elf", "bzimage", "pe"] } log = "0.4.17" -serde = { version = "1.0.137", features = ["rc"] } -serde_derive = "1.0.137" +serde = { version = "1.0.137", features = ["rc", "derive"] } thiserror = "1.0.31" versionize = "0.1.6" versionize_derive = "0.1.4" diff --git a/arch/src/lib.rs b/arch/src/lib.rs index a3cab18eb..1d9d26d23 100644 --- a/arch/src/lib.rs +++ b/arch/src/lib.rs @@ -9,11 +9,10 @@ #[macro_use] extern crate log; -#[macro_use] -extern crate serde_derive; #[cfg(target_arch = "x86_64")] use crate::x86_64::SgxEpcSection; +use serde::{Deserialize, Serialize}; use std::collections::BTreeMap; use std::fmt; use std::result; diff --git a/event_monitor/Cargo.toml b/event_monitor/Cargo.toml index b15e9e4f5..c0ac15863 100644 --- a/event_monitor/Cargo.toml +++ b/event_monitor/Cargo.toml @@ -6,6 +6,5 @@ edition = "2021" [dependencies] libc = "0.2.125" -serde = { version = "1.0.137", features = ["rc"] } -serde_derive = "1.0.137" +serde = { version = "1.0.137", features = ["rc", "derive"] } serde_json = "1.0.81" diff --git a/event_monitor/src/lib.rs b/event_monitor/src/lib.rs index 1f0b76839..20091f1d4 100644 --- a/event_monitor/src/lib.rs +++ b/event_monitor/src/lib.rs @@ -3,9 +3,7 @@ // SPDX-License-Identifier: Apache-2.0 // -#[macro_use] -extern crate serde_derive; - +use serde::Serialize; use std::borrow::Cow; use std::collections::HashMap; use std::fs::File; diff --git a/hypervisor/Cargo.toml b/hypervisor/Cargo.toml index 49a41d147..629d29bf0 100644 --- a/hypervisor/Cargo.toml +++ b/hypervisor/Cargo.toml @@ -20,8 +20,7 @@ kvm-ioctls = { version = "0.11.0", optional = true } kvm-bindings = { git = "https://github.com/cloud-hypervisor/kvm-bindings", branch = "ch-v0.5.0-tdx", features = ["with-serde", "fam-wrappers"], optional = true } mshv-bindings = { git = "https://github.com/rust-vmm/mshv", branch = "main", features = ["with-serde", "fam-wrappers"], optional = true } mshv-ioctls = { git = "https://github.com/rust-vmm/mshv", branch = "main", optional = true} -serde = { version = "1.0.137", features = ["rc"] } -serde_derive = "1.0.137" +serde = { version = "1.0.137", features = ["rc", "derive"] } serde_json = "1.0.81" vm-memory = { version = "0.8.0", features = ["backend-mmap", "backend-atomic"] } vmm-sys-util = { version = "0.9.0", features = ["with-serde"] } diff --git a/hypervisor/src/kvm/aarch64/mod.rs b/hypervisor/src/kvm/aarch64/mod.rs index 5c86f7971..e23eebade 100644 --- a/hypervisor/src/kvm/aarch64/mod.rs +++ b/hypervisor/src/kvm/aarch64/mod.rs @@ -23,7 +23,7 @@ use kvm_bindings::{ pub use kvm_bindings::{ kvm_one_reg as Register, kvm_regs as StandardRegisters, kvm_vcpu_init as VcpuInit, RegList, }; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; pub use {kvm_ioctls::Cap, kvm_ioctls::Kvm}; // This macro gets the offset of a structure (i.e `str`) member (i.e `field`) without having diff --git a/hypervisor/src/kvm/mod.rs b/hypervisor/src/kvm/mod.rs index fcd4f0d5a..4aeaa1e28 100644 --- a/hypervisor/src/kvm/mod.rs +++ b/hypervisor/src/kvm/mod.rs @@ -21,7 +21,7 @@ use crate::vm::{self, InterruptSourceConfig, VmOps}; #[cfg(target_arch = "aarch64")] use crate::{arm64_core_reg_id, offset__of}; use kvm_ioctls::{NoDatamatch, VcpuFd, VmFd}; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use std::collections::HashMap; #[cfg(target_arch = "aarch64")] use std::convert::TryInto; diff --git a/hypervisor/src/kvm/x86_64/mod.rs b/hypervisor/src/kvm/x86_64/mod.rs index d176d4b5f..4a1c6c8bb 100644 --- a/hypervisor/src/kvm/x86_64/mod.rs +++ b/hypervisor/src/kvm/x86_64/mod.rs @@ -10,7 +10,7 @@ use crate::arch::x86::{msr_index, SegmentRegisterOps, MTRR_ENABLE, MTRR_MEM_TYPE_WB}; use crate::kvm::{Cap, Kvm, KvmError, KvmResult}; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; /// /// Export generically-named wrappers of kvm-bindings for Unix-based platforms diff --git a/hypervisor/src/mshv/mod.rs b/hypervisor/src/mshv/mod.rs index 1b925cc0f..79483513e 100644 --- a/hypervisor/src/mshv/mod.rs +++ b/hypervisor/src/mshv/mod.rs @@ -15,7 +15,7 @@ use crate::vm::{self, InterruptSourceConfig, VmOps}; pub use mshv_bindings::*; pub use mshv_ioctls::IoEventAddress; use mshv_ioctls::{set_registers_64, Mshv, NoDatamatch, VcpuFd, VmFd}; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use std::collections::HashMap; use std::sync::{Arc, RwLock}; use vm::DataMatch; diff --git a/hypervisor/src/mshv/x86_64/mod.rs b/hypervisor/src/mshv/x86_64/mod.rs index 4d63e3df5..16d8191de 100644 --- a/hypervisor/src/mshv/x86_64/mod.rs +++ b/hypervisor/src/mshv/x86_64/mod.rs @@ -8,7 +8,7 @@ // // use crate::arch::x86::{msr_index, SegmentRegisterOps, MTRR_ENABLE, MTRR_MEM_TYPE_WB}; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use std::fmt; /// diff --git a/pci/Cargo.toml b/pci/Cargo.toml index 3192c0b4f..46b9e45b4 100644 --- a/pci/Cargo.toml +++ b/pci/Cargo.toml @@ -18,8 +18,7 @@ vfio_user = { path = "../vfio_user" } vmm-sys-util = "0.9.0" libc = "0.2.125" log = "0.4.17" -serde = "1.0.137" -serde_derive = "1.0.137" +serde = { version="1.0.137", features=["derive"] } thiserror = "1.0.31" versionize = "0.1.6" versionize_derive = "0.1.4" diff --git a/performance-metrics/Cargo.toml b/performance-metrics/Cargo.toml index da8f36930..b07aa63ba 100644 --- a/performance-metrics/Cargo.toml +++ b/performance-metrics/Cargo.toml @@ -8,8 +8,7 @@ build = "build.rs" [dependencies] clap = { version = "3.1.18", features = ["wrap_help","cargo"] } dirs = "4.0.0" -serde = { version = "1.0.137", features = ["rc"] } -serde_derive = "1.0.137" +serde = { version = "1.0.137", features = ["rc", "derive"] } serde_json = "1.0.81" test_infra = { path = "../test_infra" } thiserror = "1.0.31" diff --git a/performance-metrics/src/main.rs b/performance-metrics/src/main.rs index 9fda1911c..382be34fe 100644 --- a/performance-metrics/src/main.rs +++ b/performance-metrics/src/main.rs @@ -12,7 +12,7 @@ mod performance_tests; use clap::{Arg, Command as ClapCommand}; use performance_tests::*; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use std::{env, fmt, process::Command, sync::mpsc::channel, thread, time::Duration}; use thiserror::Error; diff --git a/virtio-devices/Cargo.toml b/virtio-devices/Cargo.toml index c938ff73c..200adcfc8 100644 --- a/virtio-devices/Cargo.toml +++ b/virtio-devices/Cargo.toml @@ -23,8 +23,7 @@ net_util = { path = "../net_util" } pci = { path = "../pci" } rate_limiter = { path = "../rate_limiter" } seccompiler = "0.2.0" -serde = "1.0.137" -serde_derive = "1.0.137" +serde = { version="1.0.137", features=["derive"] } serde_json = "1.0.81" thiserror = "1.0.31" versionize = "0.1.6" diff --git a/virtio-devices/src/lib.rs b/virtio-devices/src/lib.rs index f4bdbfc9b..d25b61222 100644 --- a/virtio-devices/src/lib.rs +++ b/virtio-devices/src/lib.rs @@ -14,9 +14,8 @@ extern crate event_monitor; #[macro_use] extern crate log; -#[macro_use] -extern crate serde_derive; +use serde::{Deserialize, Serialize}; use std::convert::TryInto; use std::io; diff --git a/vm-device/Cargo.toml b/vm-device/Cargo.toml index a51e77bde..501fba852 100644 --- a/vm-device/Cargo.toml +++ b/vm-device/Cargo.toml @@ -13,8 +13,7 @@ mshv = ["vfio-ioctls/mshv"] anyhow = "1.0.57" hypervisor = { path = "../hypervisor" } thiserror = "1.0.31" -serde = { version = "1.0.137", features = ["rc"] } -serde_derive = "1.0.137" +serde = { version = "1.0.137", features = ["rc", "derive"] } serde_json = "1.0.81" vfio-ioctls = { git = "https://github.com/rust-vmm/vfio", branch = "main", default-features = false } vm-memory = { version = "0.8.0", features = ["backend-mmap"] } diff --git a/vm-device/src/lib.rs b/vm-device/src/lib.rs index d54e34fad..c25adb69b 100644 --- a/vm-device/src/lib.rs +++ b/vm-device/src/lib.rs @@ -3,8 +3,7 @@ // SPDX-License-Identifier: Apache-2.0 // -#[macro_use] -extern crate serde_derive; +use serde::{Deserialize, Serialize}; mod bus; pub mod dma_mapping; diff --git a/vm-migration/Cargo.toml b/vm-migration/Cargo.toml index afea0b7e1..0f939db50 100644 --- a/vm-migration/Cargo.toml +++ b/vm-migration/Cargo.toml @@ -7,8 +7,7 @@ edition = "2021" [dependencies] anyhow = "1.0.57" thiserror = "1.0.31" -serde = { version = "1.0.137", features = ["rc"] } -serde_derive = "1.0.137" +serde = { version = "1.0.137", features = ["rc", "derive"] } serde_json = "1.0.81" versionize = "0.1.6" versionize_derive = "0.1.4" diff --git a/vm-migration/src/lib.rs b/vm-migration/src/lib.rs index 4c8e7b067..3b8cb109f 100644 --- a/vm-migration/src/lib.rs +++ b/vm-migration/src/lib.rs @@ -3,9 +3,6 @@ // SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause // -#[macro_use] -extern crate serde_derive; - use crate::protocol::MemoryRangeTable; use anyhow::anyhow; use serde::{Deserialize, Serialize}; diff --git a/vm-migration/src/protocol.rs b/vm-migration/src/protocol.rs index 8b2aad48f..898caec4f 100644 --- a/vm-migration/src/protocol.rs +++ b/vm-migration/src/protocol.rs @@ -4,6 +4,7 @@ // use crate::{MigratableError, VersionMapped}; +use serde::{Deserialize, Serialize}; use std::io::{Read, Write}; use versionize::{VersionMap, Versionize, VersionizeResult}; use versionize_derive::Versionize; diff --git a/vmm/Cargo.toml b/vmm/Cargo.toml index 74148b89e..4b97cae90 100644 --- a/vmm/Cargo.toml +++ b/vmm/Cargo.toml @@ -38,8 +38,7 @@ option_parser = { path = "../option_parser" } pci = { path = "../pci" } qcow = { path = "../qcow" } seccompiler = "0.2.0" -serde = { version = "1.0.137", features = ["rc"] } -serde_derive = "1.0.137" +serde = { version = "1.0.137", features = ["rc", "derive"] } serde_json = "1.0.81" signal-hook = "0.3.14" thiserror = "1.0.31" diff --git a/vmm/src/api/mod.rs b/vmm/src/api/mod.rs index 19b29536c..36c457ea9 100644 --- a/vmm/src/api/mod.rs +++ b/vmm/src/api/mod.rs @@ -41,6 +41,7 @@ use crate::config::{ use crate::device_tree::DeviceTree; use crate::vm::{Error as VmError, VmState}; use micro_http::Body; +use serde::{Deserialize, Serialize}; use std::io; use std::sync::mpsc::{channel, RecvError, SendError, Sender}; use std::sync::{Arc, Mutex}; diff --git a/vmm/src/config.rs b/vmm/src/config.rs index 480002348..6a8f43849 100644 --- a/vmm/src/config.rs +++ b/vmm/src/config.rs @@ -8,6 +8,7 @@ use net_util::MacAddr; use option_parser::{ ByteSized, IntegerList, OptionParser, OptionParserError, StringList, Toggle, Tuple, }; +use serde::{Deserialize, Serialize}; use std::collections::{BTreeSet, HashMap}; use std::convert::From; use std::fmt; diff --git a/vmm/src/device_manager.rs b/vmm/src/device_manager.rs index da1a4eb64..d781cfda8 100644 --- a/vmm/src/device_manager.rs +++ b/vmm/src/device_manager.rs @@ -65,6 +65,7 @@ use pci::{ VfioUserPciDevice, VfioUserPciDeviceError, }; use seccompiler::SeccompAction; +use serde::{Deserialize, Serialize}; use std::collections::{BTreeSet, HashMap}; use std::convert::TryInto; use std::fs::{read_link, File, OpenOptions}; diff --git a/vmm/src/device_tree.rs b/vmm/src/device_tree.rs index 3ab0f7e09..083e9a07a 100644 --- a/vmm/src/device_tree.rs +++ b/vmm/src/device_tree.rs @@ -4,6 +4,7 @@ use crate::device_manager::PciDeviceHandle; use pci::PciBdf; +use serde::{Deserialize, Serialize}; use std::collections::HashMap; use std::sync::{Arc, Mutex}; use vm_device::Resource; diff --git a/vmm/src/lib.rs b/vmm/src/lib.rs index ae51d9250..11d876849 100644 --- a/vmm/src/lib.rs +++ b/vmm/src/lib.rs @@ -9,8 +9,6 @@ extern crate event_monitor; extern crate lazy_static; #[macro_use] extern crate log; -#[macro_use] -extern crate serde_derive; use crate::api::{ ApiError, ApiRequest, ApiResponse, ApiResponsePayload, VmInfo, VmReceiveMigrationData, @@ -30,7 +28,8 @@ use libc::EFD_NONBLOCK; use memory_manager::MemoryManagerSnapshotData; use pci::PciBdf; use seccompiler::{apply_filter, SeccompAction}; -use serde::ser::{Serialize, SerializeStruct, Serializer}; +use serde::ser::{SerializeStruct, Serializer}; +use serde::{Deserialize, Serialize}; use std::collections::HashMap; use std::fs::File; use std::io; diff --git a/vmm/src/memory_manager.rs b/vmm/src/memory_manager.rs index 20d168e8f..ae47f5746 100644 --- a/vmm/src/memory_manager.rs +++ b/vmm/src/memory_manager.rs @@ -17,6 +17,7 @@ use arch::{layout, RegionType}; use devices::ioapic; #[cfg(target_arch = "x86_64")] use libc::{MAP_NORESERVE, MAP_POPULATE, MAP_SHARED, PROT_READ, PROT_WRITE}; +use serde::{Deserialize, Serialize}; use std::collections::HashMap; use std::convert::TryInto; use std::ffi; diff --git a/vmm/src/vm.rs b/vmm/src/vm.rs index f94db1e7e..8b6f4f271 100644 --- a/vmm/src/vm.rs +++ b/vmm/src/vm.rs @@ -57,6 +57,7 @@ use linux_loader::loader::elf::PvhBootCapability::PvhEntryPresent; use linux_loader::loader::pe::Error::InvalidImageMagicNumber; use linux_loader::loader::KernelLoader; use seccompiler::{apply_filter, SeccompAction}; +use serde::{Deserialize, Serialize}; use signal_hook::{ consts::{SIGINT, SIGTERM, SIGWINCH}, iterator::backend::Handle,