From 6449aed9ec0e41fdfb816788d8825a046bc02c81 Mon Sep 17 00:00:00 2001 From: Ayrton Chilibeck Date: Fri, 12 Jan 2024 21:54:57 -0700 Subject: [PATCH] Modified runners to accept a config object --- src/grade.rs | 6 ++++-- src/main.rs | 13 ++++++++++--- src/run.rs | 9 +++++++-- src/validate.rs | 10 ++++++++-- 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/grade.rs b/src/grade.rs index fd55e01..c8c7f39 100644 --- a/src/grade.rs +++ b/src/grade.rs @@ -1,5 +1,7 @@ -use std::path::{Path, PathBuf}; +use std::path::Path; -pub fn grade(verbosity: u8, config_file: PathBuf, grade_config: Option<&Path>) { +use crate::util; + +pub fn grade(verbosity: u8, config: util::config::Config, grade_config: Option<&Path>) { println!("Grading!"); } diff --git a/src/main.rs b/src/main.rs index ffe15dd..8ec0d7b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,6 +5,7 @@ use clap::{Parser, Subcommand}; mod validate; mod run; mod grade; +pub mod util; fn main() { // get cli args @@ -12,11 +13,15 @@ fn main() { // parse the verbosity and eliminate the Option<> let verbosity = get_verbosity(cli.verbosity); + let config = util::config::parse_config(cli.config_file); + + //parse the config file + // let config = parse_config(cli.config_file); match &cli.command { - Command::Validate => validate::validate(verbosity, cli.config_file), - Command::Run => run::run(verbosity, cli.config_file), - Command::Grade => grade::grade(verbosity, cli.config_file, cli.grading_conf.as_deref()), + Command::Validate => validate::validate(verbosity, config), + Command::Run => run::run(verbosity, config), + Command::Grade => grade::grade(verbosity, config, cli.grading_conf.as_deref()), } } @@ -28,6 +33,8 @@ struct Cli { #[arg(short, long, action = clap::ArgAction::Count)] verbosity: Option, + //TODO implement a thread count variable for the runner + /// Set the config file #[arg(short, long, value_name = "CONFIG")] config_file: PathBuf, diff --git a/src/run.rs b/src/run.rs index 1dcb660..a2d7891 100644 --- a/src/run.rs +++ b/src/run.rs @@ -1,5 +1,10 @@ -use std::path::PathBuf; +use crate::util; -pub fn run(verbosity: u8, config_file: PathBuf) { +pub fn run(verbosity: u8, config: util::config::Config) { println!("Running!"); } + +#[cfg(test)] +mod tests { + +} diff --git a/src/validate.rs b/src/validate.rs index 2bb60d6..fb88886 100644 --- a/src/validate.rs +++ b/src/validate.rs @@ -1,5 +1,11 @@ -use std::path::PathBuf; +use crate::util; -pub fn validate(verbosity: u8, config_file: PathBuf) { +pub fn validate(verbosity: u8, config: util::config::Config) { println!("Validating"); } + + +#[cfg(test)] +mod tests { + +}