Skip to main content

conduit_cli/core/engine/manager/
mod.rs

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