From 7a6baa10e8b6ef3c25f84276dc6b0b91c45f9366 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20B=C3=B6sing?= <2189546+boesing@users.noreply.github.com> Date: Sun, 1 Aug 2021 12:13:33 +0200 Subject: [PATCH] bugfix: only provide CLI commands to configuration when `symfony/console` is available MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #149 Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com> --- src/ConfigProvider.php | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/ConfigProvider.php b/src/ConfigProvider.php index be6f1a92..0f447959 100644 --- a/src/ConfigProvider.php +++ b/src/ConfigProvider.php @@ -10,6 +10,8 @@ use Laminas\Cache\Service\StoragePluginFactory; use Laminas\Cache\Service\StoragePluginFactoryFactory; use Laminas\Cache\Service\StoragePluginFactoryInterface; +use Symfony\Component\Console\Command\Command; +use function class_exists; class ConfigProvider { @@ -33,7 +35,7 @@ public function __invoke() */ public function getDependencyConfig() { - return [ + $dependencies = [ // Legacy Zend Framework aliases 'aliases' => [ \Zend\Cache\PatternPluginManager::class => PatternPluginManager::class, @@ -49,12 +51,19 @@ public function getDependencyConfig() PatternPluginManager::class => Service\PatternPluginManagerFactory::class, Storage\AdapterPluginManager::class => Service\StorageAdapterPluginManagerFactory::class, Storage\PluginManager::class => Service\StoragePluginManagerFactory::class, - DeprecatedStorageFactoryConfigurationCheckCommand::class => - DeprecatedStorageFactoryConfigurationCheckCommandFactory::class, StoragePluginFactory::class => StoragePluginFactoryFactory::class, StorageAdapterFactory::class => StorageAdapterFactoryFactory::class, ], ]; + + if (class_exists(Command::class)) { + $dependencies['factories'] += [ + DeprecatedStorageFactoryConfigurationCheckCommand::class => + DeprecatedStorageFactoryConfigurationCheckCommandFactory::class, + ]; + } + + return $dependencies; } /** @@ -62,6 +71,10 @@ public function getDependencyConfig() */ public function getCliConfig(): array { + if (! class_exists(Command::class)) { + return []; + } + return [ 'commands' => [ DeprecatedStorageFactoryConfigurationCheckCommand::NAME =>