Skip to main content

conduit_cli/core/engine/manager/
mod.rs

1mod add;
2pub mod export;
3mod init;
4mod install_loader;
5mod start;
6
7use crate::core::engine::ConduitContext;
8use crate::core::engine::resolver::Resolver;
9use crate::core::engine::workflow::Workflow;
10use std::{path::PathBuf, sync::Arc};
11
12pub struct ProjectManager {
13    pub ctx: Arc<ConduitContext>,
14    pub resolver: Resolver,
15    pub project_root: PathBuf,
16    pub workflow: Workflow,
17}
18
19impl ProjectManager {
20    pub fn new(ctx: Arc<ConduitContext>, project_root: PathBuf) -> Self {
21        let resolver = Resolver::new(ctx.api.clone());
22        let workflow = Workflow::new(ctx.clone(), project_root.clone());
23
24        Self {
25            ctx,
26            resolver,
27            project_root,
28            workflow,
29        }
30    }
31}