aboutsummaryrefslogtreecommitdiff
path: root/release/src/types.rs
diff options
context:
space:
mode:
Diffstat (limited to 'release/src/types.rs')
-rw-r--r--release/src/types.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/release/src/types.rs b/release/src/types.rs
new file mode 100644
index 000000000..56a886e6f
--- /dev/null
+++ b/release/src/types.rs
@@ -0,0 +1,33 @@
1use serde::Deserialize;
2use std::collections::{BTreeMap, HashMap};
3use std::path::PathBuf;
4
5#[derive(Debug, Deserialize)]
6pub struct ParsedCrate {
7 pub package: ParsedPackage,
8 pub dependencies: BTreeMap<String, toml::Value>,
9}
10
11#[derive(Debug, Deserialize)]
12pub struct ParsedPackage {
13 pub name: String,
14 pub version: String,
15}
16
17#[derive(Debug, Clone, Deserialize)]
18pub struct CrateConfig {
19 pub features: Option<Vec<String>>,
20 pub target: Option<String>,
21}
22
23pub type ReleaseConfig = HashMap<String, CrateConfig>;
24pub type CrateId = String;
25
26#[derive(Debug, Clone)]
27pub struct Crate {
28 pub name: String,
29 pub version: String,
30 pub path: PathBuf,
31 pub config: CrateConfig,
32 pub dependencies: Vec<CrateId>,
33}