From f55c7437f2bbf351b857c063b4d30dfd5b8b611b Mon Sep 17 00:00:00 2001 From: Sergey Shvets Date: Wed, 18 Jan 2017 10:27:27 +0200 Subject: [PATCH 1/3] MAGETWO-61188: error when installing 2.0 when using deploy:mode:set production --- .../Di/Code/Scanner/RepositoryScanner.php | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) 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..8ec34191a1680 100644 --- a/setup/src/Magento/Setup/Module/Di/Code/Scanner/RepositoryScanner.php +++ b/setup/src/Magento/Setup/Module/Di/Code/Scanner/RepositoryScanner.php @@ -37,18 +37,19 @@ 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); + $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; } } } From 53d60ace4b3643407d3ed2f96eb837d354519f29 Mon Sep 17 00:00:00 2001 From: Sergey Shvets Date: Wed, 25 Jan 2017 14:32:33 +0200 Subject: [PATCH 2/3] MAGETWO-61188: error when installing 2.0 when using deploy:mode:set production --- app/code/Magento/Catalog/etc/di.xml | 2 +- .../Magento/Setup/Module/Di/Code/Scanner/RepositoryScanner.php | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/code/Magento/Catalog/etc/di.xml b/app/code/Magento/Catalog/etc/di.xml index ceaa51b70ecdb..4ad61b44a2e1e 100644 --- a/app/code/Magento/Catalog/etc/di.xml +++ b/app/code/Magento/Catalog/etc/di.xml @@ -448,7 +448,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 8ec34191a1680..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; @@ -39,6 +40,8 @@ public function collectEntities(array $files) && $replacementType !== null && (substr($forType->nodeValue, -19) === 'RepositoryInterface') ) { + // 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) From 8147044830bb3f3ffa8ba2e6f2dd10a0b746c0f3 Mon Sep 17 00:00:00 2001 From: Sergey Shvets Date: Wed, 25 Jan 2017 14:32:33 +0200 Subject: [PATCH 3/3] MAGETWO-61188: error when installing 2.0 when using deploy:mode:set production --- app/code/Magento/Catalog/etc/di.xml | 4 ++-- app/code/Magento/Downloadable/etc/di.xml | 4 ++-- app/code/Magento/Quote/etc/di.xml | 2 +- .../Setup/Module/Di/Code/Scanner/RepositoryScanner.php | 3 +++ 4 files changed, 8 insertions(+), 5 deletions(-) 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 8ec34191a1680..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; @@ -39,6 +40,8 @@ public function collectEntities(array $files) && $replacementType !== null && (substr($forType->nodeValue, -19) === 'RepositoryInterface') ) { + // 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)