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;
}
}
}