feat: with rust workspace members
All checks were successful
continuous-integration/drone/push Build is passing

Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
2024-03-30 22:33:25 +01:00
parent 0539e375b1
commit 823712e2bf
5 changed files with 114 additions and 23 deletions

View File

@@ -7,6 +7,39 @@ pub mod rust_lib;
pub mod rust_service;
pub mod cuddle_file;
pub mod rust_workspace {
use serde::Deserialize;
#[derive(Deserialize, Clone, Debug)]
pub struct Workspace {
pub members: Vec<String>,
}
#[derive(Deserialize, Clone, Debug)]
pub struct File {
pub workspace: Option<Workspace>,
}
impl File {
pub async fn read_file() -> eyre::Result<Option<Self>> {
let file = match tokio::fs::read_to_string("Cargo.toml").await {
Ok(file) => file,
Err(e) => {
tracing::warn!("Cargo.toml was not found: {}", e);
return Ok(None);
}
};
let workspace_file: File = toml::from_str(&file)?;
Ok(Some(workspace_file))
}
pub fn get_workspace_members(&self) -> Option<Vec<String>> {
self.workspace.as_ref().map(|w| w.members.clone())
}
}
}
pub mod cuddle_please;
pub mod cuddle_releaser;
pub mod cuddle_x;