diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-11-16 20:52:34 +0100 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-11-16 20:52:34 +0100 |
commit | 1ad4750948ab49900b1b6ff5b455c11ebe7470eb (patch) | |
tree | d72737a8e045dbadb734425d687f2a09f0c7453b /crates/driver/src/main.rs | |
parent | bd8479a1ebf3862c13909e270ddd6179d9a24591 (diff) | |
download | rebel-1ad4750948ab49900b1b6ff5b455c11ebe7470eb.tar rebel-1ad4750948ab49900b1b6ff5b455c11ebe7470eb.zip |
driver: pass set of tasks to force-run to driver instance
Diffstat (limited to 'crates/driver/src/main.rs')
-rw-r--r-- | crates/driver/src/main.rs | 10 |
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); |