Added Arguments
This commit is contained in:
@@ -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
@@ -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)?;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user