codegen: Allow compiling serde and serde_derive in parallel

This commit is contained in:
Taiki Endo
2023-10-18 23:22:44 +09:00
parent 56763447c1
commit 9fa9dc1e41
2 changed files with 13 additions and 9 deletions

View File

@@ -10,7 +10,8 @@ flate2 = "1"
fs-err = "2"
minisign-verify = "0.2"
semver = { version = "1", features = ["serde"] }
serde = { version = "1", features = ["derive"] }
serde = "1"
serde_derive = "1"
serde_json = "1"
sha2 = "0.10"
tar = "0.4"

View File

@@ -17,7 +17,11 @@ use std::{
use anyhow::{bail, Context as _, Result};
use fs_err as fs;
use serde::{Deserialize, Serialize};
use serde::{
de::{self, Deserialize, Deserializer},
ser::{Serialize, Serializer},
};
use serde_derive::{Deserialize, Serialize};
use sha2::{Digest, Sha256};
fn main() -> Result<()> {
@@ -617,7 +621,7 @@ impl FromStr for Version {
impl Serialize for Version {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
S: Serializer,
{
String::serialize(&self.to_string(), serializer)
}
@@ -625,10 +629,9 @@ impl Serialize for Version {
impl<'de> Deserialize<'de> for Version {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
D: Deserializer<'de>,
{
use serde::de::Error as _;
String::deserialize(deserializer)?.parse().map_err(D::Error::custom)
String::deserialize(deserializer)?.parse().map_err(de::Error::custom)
}
}
@@ -799,7 +802,7 @@ impl HostPlatform {
}
mod github {
use serde::Deserialize;
use serde_derive::Deserialize;
// https://api.github.com/repos/<repo>/releases
pub type Releases = Vec<Release>;
@@ -821,7 +824,7 @@ mod github {
}
mod crates_io {
use serde::Deserialize;
use serde_derive::Deserialize;
// https://crates.io/api/v1/crates/<crate>
#[derive(Debug, Deserialize)]
@@ -839,7 +842,7 @@ mod crates_io {
}
mod cargo_manifest {
use serde::Deserialize;
use serde_derive::Deserialize;
#[derive(Debug, Deserialize)]
pub struct Manifest {