Added Arguments

This commit is contained in:
2024-01-21 12:37:43 +01:00
parent 4ef959f673
commit 114a1accde
4 changed files with 223 additions and 15 deletions
+22
View File
@@ -0,0 +1,22 @@
use clap::Parser;
#[derive(Parser, Default, Debug)]
#[clap(
author = "Mathias Rothenhäusler",
version,
about = "Start RCC local test environment."
)]
pub struct Arguments {
#[arg(help = "Possible values are 'up' and 'down'")]
pub action: String,
}
impl Arguments {
pub fn validate(&self) -> Result<(), Box<dyn std::error::Error>> {
if self.action == "up" || self.action == "down" {
return Ok(());
}
Err("Action values are up or down.".into())
}
}
+12 -6
View File
@@ -1,17 +1,23 @@
use container::docker::start_docker_compose;
use env::config::{load_config, DevToolsConf};
use crate::arguments::Arguments;
use clap::Parser;
mod arguments;
mod container;
mod env;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let args: Vec<_> = std::env::args().collect();
if args.len() < 2 {
eprintln!("Up or down is a required argument");
std::process::exit(1);
}
// let args: Vec<_> = std::env::args().collect();
// if args.len() < 2 {
// eprintln!("Up or down is a required argument");
// std::process::exit(1);
// }
let args: Arguments = Arguments::parse();
args.validate()?;
let config: DevToolsConf = load_config()?;
let start: bool = args[1] == "up";
let start: bool = args.action == "up";
start_docker_compose(&config.container_service, &config.container_dir, start)?;