From d864c5743a0be8a70ad32c33be8bd4db5cc4350d Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Wed, 2 Jun 2021 13:39:26 +0200 Subject: [PATCH] Add 7-zip presence check to diagnose command --- src/Composer/Command/DiagnoseCommand.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Composer/Command/DiagnoseCommand.php b/src/Composer/Command/DiagnoseCommand.php index 401b01a46..f36ee3343 100644 --- a/src/Composer/Command/DiagnoseCommand.php +++ b/src/Composer/Command/DiagnoseCommand.php @@ -24,6 +24,7 @@ use Composer\Util\IniHelper; use Composer\Util\ProcessExecutor; use Composer\Util\HttpDownloader; use Composer\Util\StreamContextFactory; +use Composer\Util\Platform; use Composer\SelfUpdate\Keys; use Composer\SelfUpdate\Versions; use Composer\IO\NullIO; @@ -176,9 +177,17 @@ EOT $finder = new ExecutableFinder; $hasSystemUnzip = (bool) $finder->find('unzip'); + if (Platform::isWindows()) { + $hasSystem7zip = (bool) $finder->find('7z', null, array('C:\Program Files\7-Zip')); + $windows7z = ', ' . ($hasSystem7zip ? '7-Zip present' : '7-Zip not available'); + } else { + $windows7z = ''; + } + $io->write( 'zip: ' . (extension_loaded('zip') ? 'extension present' : 'extension not loaded') . ', ' . ($hasSystemUnzip ? 'unzip present' : 'unzip not available') + . $windows7z ); return $this->exitCode;