@@ -106,6 +106,7 @@ public DockerAvailability getDockerAvailability() {
106
106
Version version = null ;
107
107
boolean isVersionHighEnough = false ;
108
108
boolean isComposeAvailable = false ;
109
+ boolean isComposeV2Available = false ;
109
110
110
111
// Check if the Docker binary exists
111
112
final Optional <String > dockerBinary = getDockerPath ();
@@ -129,6 +130,8 @@ public DockerAvailability getDockerAvailability() {
129
130
if (lastResult .isSuccess () && composePath .isPresent ()) {
130
131
isComposeAvailable = runCommand (composePath .get (), "version" ).isSuccess ();
131
132
}
133
+
134
+ isComposeV2Available = runCommand (dockerPath , "compose" , "version" ).isSuccess ();
132
135
}
133
136
}
134
137
}
@@ -138,6 +141,7 @@ public DockerAvailability getDockerAvailability() {
138
141
this .dockerAvailability = new DockerAvailability (
139
142
isAvailable ,
140
143
isComposeAvailable ,
144
+ isComposeV2Available ,
141
145
isVersionHighEnough ,
142
146
dockerPath ,
143
147
version ,
@@ -356,6 +360,11 @@ public static class DockerAvailability {
356
360
*/
357
361
public final boolean isComposeAvailable ;
358
362
363
+ /**
364
+ * True if docker compose is available.
365
+ */
366
+ public final boolean isComposeV2Available ;
367
+
359
368
/**
360
369
* True if the installed Docker version is >= 17.05
361
370
*/
@@ -379,13 +388,15 @@ public static class DockerAvailability {
379
388
DockerAvailability (
380
389
boolean isAvailable ,
381
390
boolean isComposeAvailable ,
391
+ boolean isComposeV2Available ,
382
392
boolean isVersionHighEnough ,
383
393
String path ,
384
394
Version version ,
385
395
Result lastCommand
386
396
) {
387
397
this .isAvailable = isAvailable ;
388
398
this .isComposeAvailable = isComposeAvailable ;
399
+ this .isComposeV2Available = isComposeV2Available ;
389
400
this .isVersionHighEnough = isVersionHighEnough ;
390
401
this .path = path ;
391
402
this .version = version ;
0 commit comments