From 9f12852c389d65a8b2e252e027f69dfef2383736 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Fri, 15 Aug 2025 15:30:14 +0200 Subject: Read crate configs from metadata. --- release/src/types.rs | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'release/src/types.rs') diff --git a/release/src/types.rs b/release/src/types.rs index 56a886e6f..39e8e9f48 100644 --- a/release/src/types.rs +++ b/release/src/types.rs @@ -1,7 +1,8 @@ -use serde::Deserialize; use std::collections::{BTreeMap, HashMap}; use std::path::PathBuf; +use serde::Deserialize; + #[derive(Debug, Deserialize)] pub struct ParsedCrate { pub package: ParsedPackage, @@ -12,15 +13,31 @@ pub struct ParsedCrate { pub struct ParsedPackage { pub name: String, pub version: String, + #[serde(default)] + pub metadata: Metadata, +} + +#[derive(Debug, Deserialize, Default)] +pub struct Metadata { + #[serde(default)] + pub embassy: MetadataEmbassy, +} + +#[derive(Debug, Deserialize, Default)] +pub struct MetadataEmbassy { + #[serde(default)] + pub skip: bool, + #[serde(default)] + pub build: Vec, } #[derive(Debug, Clone, Deserialize)] -pub struct CrateConfig { - pub features: Option>, +pub struct BuildConfig { + #[serde(default)] + pub features: Vec, pub target: Option, } -pub type ReleaseConfig = HashMap; pub type CrateId = String; #[derive(Debug, Clone)] @@ -28,6 +45,6 @@ pub struct Crate { pub name: String, pub version: String, pub path: PathBuf, - pub config: CrateConfig, pub dependencies: Vec, + pub config: BuildConfig, // TODO make this a vec. } -- cgit