crux_cli/
config.rs

1use std::{collections::BTreeMap, path::PathBuf};
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Default, Debug, Serialize, Deserialize)]
6pub struct Workspace {
7    pub name: String,
8    pub description: Option<String>,
9    pub authors: Vec<String>,
10    pub repository: Option<String>,
11    pub cores: BTreeMap<String, Core>,
12    pub shells: Option<BTreeMap<String, Shell>>,
13}
14
15#[derive(Debug, Serialize, Deserialize)]
16pub struct Core {
17    #[serde(skip)]
18    pub name: String,
19    pub source: PathBuf,
20    pub type_gen: Option<PathBuf>,
21    pub crux_version: String,
22}
23
24#[derive(Debug, Serialize, Deserialize)]
25pub struct Shell {
26    #[serde(skip)]
27    pub name: String,
28    pub template: Option<PathBuf>,
29    pub source: PathBuf,
30    pub cores: Vec<String>,
31}