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.rs69
1 files changed, 0 insertions, 69 deletions
diff --git a/crates/driver/src/main.rs b/crates/driver/src/main.rs
deleted file mode 100644
index ea97ee5..0000000
--- a/crates/driver/src/main.rs
+++ /dev/null
@@ -1,69 +0,0 @@
-mod args;
-mod context;
-mod driver;
-mod parse;
-mod paths;
-mod pin;
-mod recipe;
-mod resolve;
-mod task;
-mod template;
-
-use std::collections::HashSet;
-
-use clap::Parser;
-
-use runner::Runner;
-
-#[derive(Parser)]
-#[clap(version = clap::crate_version!())]
-struct Opts {
- /// Allow N jobs at once.
- /// Defaults to the number of available CPUs
- #[clap(short, long)]
- jobs: Option<usize>,
- /// The tasks to run
- #[clap(name = "task", required = true)]
- tasks: Vec<String>,
-}
-
-fn main() {
- let opts: Opts = Opts::parse();
-
- let runner = unsafe { Runner::new(&runner::Options { jobs: opts.jobs }) }.unwrap();
-
- let ctx = context::Context::new(
- recipe::read_recipes("examples/recipes").unwrap(),
- pin::read_pins("examples/pins.yml").unwrap(),
- )
- .unwrap();
-
- let mut rsv = resolve::Resolver::new(&ctx);
- let mut force_run = HashSet::new();
-
- for task in opts.tasks {
- let (task_ref, flags) = match ctx.parse(&task) {
- Ok(task_ref) => task_ref,
- Err(err) => {
- eprintln!("{}", err);
- std::process::exit(1);
- }
- };
- let errors = rsv.add_goal(&task_ref);
- if !errors.is_empty() {
- for error in errors {
- eprintln!("{}", error);
- }
- 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, force_run).unwrap();
- if let Err(error) = driver.run(&runner) {
- eprintln!("{}", error);
- std::process::exit(1);
- }
-}