use std::env::args;
use replicate::Replicate;
const IMAGE: &str = "alpine:3";
fn main() -> Result<(), Box<dyn std::error::Error>> {
if args().len() == 1 {
let copy = Replicate::same_name()?;
println!("My copy's path is {}", copy.display());
let args: Vec<String> = vec![
"build".into(),
"--build-context".into(),
format!("replicate={}", copy.parent().display()),
"-f".into(),
"examples/Dockerfile".into(),
".".into(),
];
let mut child = std::process::Command::new("docker").args(args).spawn()?;
let ecode = child.wait()?;
assert!(ecode.success());
} else {
println!("Called inside \"{}\" with arguments {:?}", IMAGE, args())
}
Ok(())
}