-
Notifications
You must be signed in to change notification settings - Fork 180
Expand file tree
/
Copy pathlib_cmd.rs
More file actions
23 lines (20 loc) · 811 Bytes
/
lib_cmd.rs
File metadata and controls
23 lines (20 loc) · 811 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use std::future::Future;
use petgraph::stable_graph::StableGraph;
use crate::{
Error, ResolveCommandResult, Workspace,
config::ResolvedTask,
schedule::{ExecutionPlan, ExecutionSummary},
};
#[tracing::instrument(skip(resolve_lib_command, workspace))]
pub async fn lib<Lib: Future<Output = Result<ResolveCommandResult, Error>>, LibFn: Fn() -> Lib>(
resolve_lib_command: LibFn,
workspace: &Workspace,
args: &Vec<String>,
) -> Result<ExecutionSummary, Error> {
let resolved_task =
ResolvedTask::resolve_from_builtin(workspace, resolve_lib_command, "lib", args.iter())
.await?;
let mut task_graph: StableGraph<ResolvedTask, ()> = Default::default();
task_graph.add_node(resolved_task);
ExecutionPlan::plan(task_graph, false)?.execute(workspace).await
}