@@ -8,10 +8,13 @@ use eyre::Result;
8
8
9
9
macro_rules! run_docker_compose {
10
10
( $compose_path: expr, $( $arg: expr) ,* ) => { {
11
- let cmd = determine_docker_compose_command( ) ;
12
- match cmd {
13
- Some ( mut command) => {
14
- match command. arg( "-f" ) . arg( $compose_path) . args( & [ $( $arg) ,* ] ) . output( ) {
11
+ let cmd_info = determine_docker_compose_command( ) ;
12
+ match cmd_info {
13
+ Some ( ( mut command, _version) ) => {
14
+ // Set the COMPOSE_FILE environment variable
15
+ command. env( "COMPOSE_FILE" , $compose_path) ;
16
+
17
+ match command. args( & [ $( $arg) ,* ] ) . output( ) {
15
18
Ok ( output) => {
16
19
if !output. status. success( ) {
17
20
let stderr = str :: from_utf8( & output. stderr) . unwrap_or( "" ) ;
@@ -34,21 +37,27 @@ macro_rules! run_docker_compose {
34
37
} } ;
35
38
}
36
39
37
- fn determine_docker_compose_command ( ) -> Option < Command > {
40
+ fn determine_docker_compose_command ( ) -> Option < ( Command , & ' static str ) > {
38
41
if is_command_available ( "docker compose" ) {
39
42
let mut docker: Command = Command :: new ( "docker" ) ;
40
- Some ( mem:: replace (
41
- docker. arg ( "compose" ) . stdout ( Stdio :: inherit ( ) ) . stderr ( Stdio :: inherit ( ) ) ,
42
- Command :: new ( "docker" ) ,
43
+ Some ( (
44
+ mem:: replace (
45
+ docker. arg ( "compose" ) . stdout ( Stdio :: inherit ( ) ) . stderr ( Stdio :: inherit ( ) ) ,
46
+ Command :: new ( "docker" ) ,
47
+ ) ,
48
+ "v2" ,
43
49
) )
44
50
} else if is_command_available ( "docker-compose" ) {
45
51
println ! (
46
52
"using docker-compose. the command is being deprecated, install docker compose plugin"
47
53
) ;
48
54
let mut docker: Command = Command :: new ( "docker-compose" ) ;
49
- Some ( mem:: replace (
50
- docker. stdout ( Stdio :: inherit ( ) ) . stderr ( Stdio :: inherit ( ) ) ,
51
- Command :: new ( "docker" ) ,
55
+ Some ( (
56
+ mem:: replace (
57
+ docker. stdout ( Stdio :: inherit ( ) ) . stderr ( Stdio :: inherit ( ) ) ,
58
+ Command :: new ( "docker" ) ,
59
+ ) ,
60
+ "v1" ,
52
61
) )
53
62
} else {
54
63
None
0 commit comments