use std::{fs::File, io::Read};
use clap::{Parser,arg};
use kmmp_project_manager::{Project, Generate};
#[derive(Parser)]
enum CliCommands {
#[clap(about = "Creates a new KMP project")]
New {
#[arg(short, long)]
path: String,
#[arg(short, long)]
json: String,
},
UI
}
fn read_file_content(directory : &str) -> String {
let mut buffer = String::new();
File::open(directory)
.expect("Error Opening File")
.read_to_string(&mut buffer)
.expect("Error reading file");
buffer
}
fn main(){
let cli = CliCommands::parse();
match cli {
CliCommands::New { path , json } => {
let json_str = read_file_content(&json);
let project = serde_json::from_str::<Project>(&json_str).expect("Invalid json structure for Project struct");
project.generate(&path);
},
_ => {}
};
}