feat(baker/engine): add depsuser stage

This commit is contained in:
Catty Steve
2026-03-31 11:53:55 +08:00
parent 0f6aed6f94
commit 3e8b256889
2 changed files with 14 additions and 3 deletions
+3
View File
@@ -78,6 +78,9 @@ pub enum DependencyError {
#[error("No supported package manager found for {0}")]
UnsupportedPlatform(Info),
#[error("Unknown package manager: {0}")]
UnknownManager(String),
#[error("Failed to parse config")]
ParseError(),
+11 -3
View File
@@ -1,7 +1,7 @@
use serde_yaml::Value;
use crate::ExecutionContext;
use crate::engine::{Engine, EventSender, ExecutionError, ExecutionResult};
use crate::engine::{EventSender, upm};
use crate::error::DependencyError;
use std::collections::HashMap;
@@ -11,8 +11,16 @@ pub async fn depsuser(
event_tx: &EventSender,
) -> Result<(), DependencyError> {
for (name, cfg) in config {
let package_manager = upm::get(name).unwrap(); // ?
let package_manager = match upm::select(name){
Some(pm) => pm,
None => {
log::error!("Unknown user package manager: {}", name);
return Err(DependencyError::UnknownManager(name.to_string()));
}
};
log::info!("Running user package manager: {}", name);
package_manager.main(cfg, ctx, event_tx).await?;
}
todo!();
Ok(())
}