use std::env;
use std::fs;
use std::path::Path;
fn main() {
let args: Vec<String> = env::args().collect();
let task = if args.len() > 1 { &args[1] } else { "default" };
println!("rake - Ruby build tool");
println!("Running task: {}", task);
if Path::exists(Path::new("Rakefile")) {
println!("Found Rakefile, executing tasks...");
execute_rake_task(task);
} else if Path::exists(Path::new("rakefile.rb")) {
println!("Found rakefile.rb, executing tasks...");
execute_rake_task(task);
} else {
println!("Error: No Rakefile or rakefile.rb found");
println!("Create a Rakefile with task definitions.");
}
}
fn execute_rake_task(task: &str) {
match task {
"default" => {
println!("Executing default task...");
println!("Default task completed");
}
"build" => {
println!("Building project...");
println!("Project built successfully");
}
"test" => {
println!("Running tests...");
println!("Tests passed");
}
"clean" => {
println!("Cleaning project...");
println!("Project cleaned");
}
"install" => {
println!("Installing project...");
println!("Project installed");
}
_ => {
println!("Executing custom task: {}", task);
println!("Task {} completed", task);
}
}
}