aboutsummaryrefslogtreecommitdiff
path: root/release/src/types.rs
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2025-08-15 15:30:14 +0200
committerUlf Lilleengen <[email protected]>2025-08-25 19:44:50 +0200
commit9f12852c389d65a8b2e252e027f69dfef2383736 (patch)
tree8dc1f32170a62d2a82e033f57ccf423b648b93e5 /release/src/types.rs
parent3f21c9022396fb2f77b4521dda67728520b999a9 (diff)
Read crate configs from metadata.
Diffstat (limited to 'release/src/types.rs')
-rw-r--r--release/src/types.rs27
1 files changed, 22 insertions, 5 deletions
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 @@
1use serde::Deserialize;
2use std::collections::{BTreeMap, HashMap}; 1use std::collections::{BTreeMap, HashMap};
3use std::path::PathBuf; 2use std::path::PathBuf;
4 3
4use serde::Deserialize;
5
5#[derive(Debug, Deserialize)] 6#[derive(Debug, Deserialize)]
6pub struct ParsedCrate { 7pub struct ParsedCrate {
7 pub package: ParsedPackage, 8 pub package: ParsedPackage,
@@ -12,15 +13,31 @@ pub struct ParsedCrate {
12pub struct ParsedPackage { 13pub struct ParsedPackage {
13 pub name: String, 14 pub name: String,
14 pub version: String, 15 pub version: String,
16 #[serde(default)]
17 pub metadata: Metadata,
18}
19
20#[derive(Debug, Deserialize, Default)]
21pub struct Metadata {
22 #[serde(default)]
23 pub embassy: MetadataEmbassy,
24}
25
26#[derive(Debug, Deserialize, Default)]
27pub struct MetadataEmbassy {
28 #[serde(default)]
29 pub skip: bool,
30 #[serde(default)]
31 pub build: Vec<BuildConfig>,
15} 32}
16 33
17#[derive(Debug, Clone, Deserialize)] 34#[derive(Debug, Clone, Deserialize)]
18pub struct CrateConfig { 35pub struct BuildConfig {
19 pub features: Option<Vec<String>>, 36 #[serde(default)]
37 pub features: Vec<String>,
20 pub target: Option<String>, 38 pub target: Option<String>,
21} 39}
22 40
23pub type ReleaseConfig = HashMap<String, CrateConfig>;
24pub type CrateId = String; 41pub type CrateId = String;
25 42
26#[derive(Debug, Clone)] 43#[derive(Debug, Clone)]
@@ -28,6 +45,6 @@ pub struct Crate {
28 pub name: String, 45 pub name: String,
29 pub version: String, 46 pub version: String,
30 pub path: PathBuf, 47 pub path: PathBuf,
31 pub config: CrateConfig,
32 pub dependencies: Vec<CrateId>, 48 pub dependencies: Vec<CrateId>,
49 pub config: BuildConfig, // TODO make this a vec.
33} 50}