From 1ff08bc6e0e43fd7b4016711ee8b8b9730061c32 Mon Sep 17 00:00:00 2001 From: Damien MATHIEU Date: Mon, 3 Feb 2025 11:19:35 +0100 Subject: [PATCH 1/2] fix: adapt docker compose version depending on current compose installed --- src/lib.rs | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 8f175f7..9739879 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,4 @@ +use std::env; use std::fs::File; use std::path::Path; use std::process::{Command, Stdio}; @@ -17,8 +18,18 @@ impl DockerComposeCmd { } } + fn get_docker_compose_command() -> &'static str { + if Command::new("docker-compose").output().is_ok() { + return "docker-compose"; + } else { + return "docker compose"; + } + } + pub fn up(&self) { - let output = Command::new("docker-compose") + let docker_compose_command = Self::get_docker_compose_command(); + + let output = Command::new(docker_compose_command) .arg("-f") .arg(self.file.clone()) .arg("up") @@ -35,7 +46,7 @@ impl DockerComposeCmd { } std::fs::create_dir_all(dir).unwrap(); - let output = Command::new("docker-compose") + let output = Command::new(docker_compose_command) .arg("-f") .arg(self.file.clone()) .arg("ps") @@ -56,7 +67,7 @@ impl DockerComposeCmd { let follow_container_log = |container: String, file_path: std::path::PathBuf| { let file = File::create(file_path).unwrap(); - let _ = Command::new("docker-compose") + let _ = Command::new(docker_compose_command) .arg("-f") .arg(docker_compose_file) .arg("logs") @@ -77,7 +88,9 @@ impl DockerComposeCmd { pub fn down(&self) { println!("Gracefully shutting down..."); - let _output = Command::new("docker-compose") + let docker_compose_command = Self::get_docker_compose_command(); + + let _output = Command::new(docker_compose_command) .arg("-f") .arg(self.file.clone()) .arg("down") @@ -86,7 +99,6 @@ impl DockerComposeCmd { } } - pub struct DockerCompose { cmd: DockerComposeCmd, } @@ -103,4 +115,4 @@ impl Drop for DockerCompose { fn drop(&mut self) { self.cmd.down(); } -} \ No newline at end of file +} From 1c8a53c1e1d30e3eb687c39898163ac020880207 Mon Sep 17 00:00:00 2001 From: Damien MATHIEU Date: Mon, 3 Feb 2025 19:37:24 +0100 Subject: [PATCH 2/2] fix: remove unused import --- src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 9739879..d4fee82 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,3 @@ -use std::env; use std::fs::File; use std::path::Path; use std::process::{Command, Stdio};