diff options
Diffstat (limited to 'release/src/types.rs')
| -rw-r--r-- | release/src/types.rs | 27 |
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 @@ | |||
| 1 | use serde::Deserialize; | ||
| 2 | use std::collections::{BTreeMap, HashMap}; | 1 | use std::collections::{BTreeMap, HashMap}; |
| 3 | use std::path::PathBuf; | 2 | use std::path::PathBuf; |
| 4 | 3 | ||
| 4 | use serde::Deserialize; | ||
| 5 | |||
| 5 | #[derive(Debug, Deserialize)] | 6 | #[derive(Debug, Deserialize)] |
| 6 | pub struct ParsedCrate { | 7 | pub struct ParsedCrate { |
| 7 | pub package: ParsedPackage, | 8 | pub package: ParsedPackage, |
| @@ -12,15 +13,31 @@ pub struct ParsedCrate { | |||
| 12 | pub struct ParsedPackage { | 13 | pub 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)] | ||
| 21 | pub struct Metadata { | ||
| 22 | #[serde(default)] | ||
| 23 | pub embassy: MetadataEmbassy, | ||
| 24 | } | ||
| 25 | |||
| 26 | #[derive(Debug, Deserialize, Default)] | ||
| 27 | pub 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)] |
| 18 | pub struct CrateConfig { | 35 | pub 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 | ||
| 23 | pub type ReleaseConfig = HashMap<String, CrateConfig>; | ||
| 24 | pub type CrateId = String; | 41 | pub 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 | } |
