diff --git a/app/code/Magento/Catalog/etc/di.xml b/app/code/Magento/Catalog/etc/di.xml index ceaa51b70ecdb..228a9fd59b401 100644 --- a/app/code/Magento/Catalog/etc/di.xml +++ b/app/code/Magento/Catalog/etc/di.xml @@ -446,9 +446,9 @@ - + - + diff --git a/app/code/Magento/Downloadable/etc/di.xml b/app/code/Magento/Downloadable/etc/di.xml index aaf1c18277f20..aaed6ccc079d4 100644 --- a/app/code/Magento/Downloadable/etc/di.xml +++ b/app/code/Magento/Downloadable/etc/di.xml @@ -73,8 +73,8 @@ - - + + diff --git a/app/code/Magento/Quote/etc/di.xml b/app/code/Magento/Quote/etc/di.xml index 2e53f17c127df..4b9d2b8955b6c 100644 --- a/app/code/Magento/Quote/etc/di.xml +++ b/app/code/Magento/Quote/etc/di.xml @@ -22,7 +22,7 @@ - + diff --git a/setup/src/Magento/Setup/Module/Di/Code/Scanner/RepositoryScanner.php b/setup/src/Magento/Setup/Module/Di/Code/Scanner/RepositoryScanner.php index b3e4d720ecaf7..1a008850fa25f 100644 --- a/setup/src/Magento/Setup/Module/Di/Code/Scanner/RepositoryScanner.php +++ b/setup/src/Magento/Setup/Module/Di/Code/Scanner/RepositoryScanner.php @@ -3,6 +3,7 @@ * Copyright © 2016 Magento. All rights reserved. * See COPYING.txt for license details. */ + namespace Magento\Setup\Module\Di\Code\Scanner; use Magento\Framework\Autoload\AutoloaderRegistry; @@ -37,18 +38,21 @@ public function collectEntities(array $files) if ( $forType !== null && $replacementType !== null - && (substr($forType->nodeValue, -19) == 'RepositoryInterface') + && (substr($forType->nodeValue, -19) === 'RepositoryInterface') ) { - if (!class_exists($replacementType->nodeValue, false) - && !AutoloaderRegistry::getAutoloader()->loadClass($replacementType->nodeValue)) { - $persistor = str_replace('\\Repository', 'InterfacePersistor', $replacementType->nodeValue); - $factory = str_replace('\\Repository', 'InterfaceFactory', $replacementType->nodeValue); - $searchResultFactory - = str_replace('\\Repository', 'SearchResultInterfaceFactory', $replacementType->nodeValue); + // backward compatibility workaround for composer below 1.3.0 + // (https://github.com/composer/composer/issues/5923) + $nodeValue = ltrim($replacementType->nodeValue, '\\'); + if (!class_exists($nodeValue, false) + && !AutoloaderRegistry::getAutoloader()->loadClass($nodeValue) + ) { + $persistor = str_replace('\\Repository', 'InterfacePersistor', $nodeValue); + $factory = str_replace('\\Repository', 'InterfaceFactory', $nodeValue); + $searchResultFactory = str_replace('\\Repository', 'SearchResultInterfaceFactory', $nodeValue); $repositoryClassNames[$persistor] = $persistor; $repositoryClassNames[$factory] = $factory; $repositoryClassNames[$searchResultFactory] = $searchResultFactory; - $repositoryClassNames[$replacementType->nodeValue] = $replacementType->nodeValue; + $repositoryClassNames[$nodeValue] = $nodeValue; } } }