summaryrefslogtreecommitdiffstats
path: root/crates/driver/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/driver/src/main.rs')
-rw-r--r--crates/driver/src/main.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/crates/driver/src/main.rs b/crates/driver/src/main.rs
index 0e5c629..ea97ee5 100644
--- a/crates/driver/src/main.rs
+++ b/crates/driver/src/main.rs
@@ -9,6 +9,8 @@ mod resolve;
mod task;
mod template;
+use std::collections::HashSet;
+
use clap::Parser;
use runner::Runner;
@@ -37,9 +39,10 @@ fn main() {
.unwrap();
let mut rsv = resolve::Resolver::new(&ctx);
+ let mut force_run = HashSet::new();
for task in opts.tasks {
- let task_ref = match ctx.parse(&task) {
+ let (task_ref, flags) = match ctx.parse(&task) {
Ok(task_ref) => task_ref,
Err(err) => {
eprintln!("{}", err);
@@ -53,9 +56,12 @@ fn main() {
}
std::process::exit(1);
}
+ if flags.force_run {
+ force_run.insert(task_ref);
+ }
}
let taskset = rsv.into_taskset();
- let mut driver = driver::Driver::new(&ctx, taskset).unwrap();
+ let mut driver = driver::Driver::new(&ctx, taskset, force_run).unwrap();
if let Err(error) = driver.run(&runner) {
eprintln!("{}", error);
std::process::exit(1);