|
3 | 3 | * Copyright © 2016 Magento. All rights reserved. |
4 | 4 | * See COPYING.txt for license details. |
5 | 5 | */ |
| 6 | + |
6 | 7 | namespace Magento\Setup\Module\Di\Code\Scanner; |
7 | 8 |
|
8 | 9 | use Magento\Framework\Autoload\AutoloaderRegistry; |
@@ -37,18 +38,21 @@ public function collectEntities(array $files) |
37 | 38 | if ( |
38 | 39 | $forType !== null |
39 | 40 | && $replacementType !== null |
40 | | - && (substr($forType->nodeValue, -19) == 'RepositoryInterface') |
| 41 | + && (substr($forType->nodeValue, -19) === 'RepositoryInterface') |
41 | 42 | ) { |
42 | | - if (!class_exists($replacementType->nodeValue, false) |
43 | | - && !AutoloaderRegistry::getAutoloader()->loadClass($replacementType->nodeValue)) { |
44 | | - $persistor = str_replace('\\Repository', 'InterfacePersistor', $replacementType->nodeValue); |
45 | | - $factory = str_replace('\\Repository', 'InterfaceFactory', $replacementType->nodeValue); |
46 | | - $searchResultFactory |
47 | | - = str_replace('\\Repository', 'SearchResultInterfaceFactory', $replacementType->nodeValue); |
| 43 | + // backward compatibility workaround for composer below 1.3.0 |
| 44 | + // (https://github.com/composer/composer/issues/5923) |
| 45 | + $nodeValue = ltrim($replacementType->nodeValue, '\\'); |
| 46 | + if (!class_exists($nodeValue, false) |
| 47 | + && !AutoloaderRegistry::getAutoloader()->loadClass($nodeValue) |
| 48 | + ) { |
| 49 | + $persistor = str_replace('\\Repository', 'InterfacePersistor', $nodeValue); |
| 50 | + $factory = str_replace('\\Repository', 'InterfaceFactory', $nodeValue); |
| 51 | + $searchResultFactory = str_replace('\\Repository', 'SearchResultInterfaceFactory', $nodeValue); |
48 | 52 | $repositoryClassNames[$persistor] = $persistor; |
49 | 53 | $repositoryClassNames[$factory] = $factory; |
50 | 54 | $repositoryClassNames[$searchResultFactory] = $searchResultFactory; |
51 | | - $repositoryClassNames[$replacementType->nodeValue] = $replacementType->nodeValue; |
| 55 | + $repositoryClassNames[$nodeValue] = $nodeValue; |
52 | 56 | } |
53 | 57 | } |
54 | 58 | } |
|
0 commit comments