Skip to content

Commit 711c95a

Browse files
author
Oleksii Korshenko
authored
MAGETWO-87646: Fixed fatal error on "magento sampledata:deploy" when magento is not installed. #13571
2 parents aa5cd58 + 1647843 commit 711c95a

File tree

3 files changed

+24
-21
lines changed

3 files changed

+24
-21
lines changed

app/code/Magento/SampleData/Model/Dependency.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
use Magento\Framework\Config\Composer\Package;
1313
use Magento\Framework\Config\Composer\PackageFactory;
1414
use Magento\Framework\Filesystem;
15-
use Magento\Framework\Filesystem\Directory\ReadInterfaceFactory;
15+
use Magento\Framework\Filesystem\Directory\ReadFactory;
1616

1717
/**
1818
* Sample Data dependency
@@ -40,7 +40,7 @@ class Dependency
4040
private $componentRegistrar;
4141

4242
/**
43-
* @var ReadInterfaceFactory
43+
* @var ReadFactory
4444
*/
4545
private $directoryReadFactory;
4646

@@ -51,21 +51,21 @@ class Dependency
5151
* @param Filesystem $filesystem @deprecated 2.3.0 $directoryReadFactory is used instead
5252
* @param PackageFactory $packageFactory
5353
* @param ComponentRegistrarInterface $componentRegistrar
54-
* @param Filesystem\Directory\ReadInterfaceFactory|null $directoryReadFactory
54+
* @param Filesystem\Directory\ReadFactory|null $directoryReadFactory
5555
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
5656
*/
5757
public function __construct(
5858
ComposerInformation $composerInformation,
5959
Filesystem $filesystem,
6060
PackageFactory $packageFactory,
6161
ComponentRegistrarInterface $componentRegistrar,
62-
\Magento\Framework\Filesystem\Directory\ReadInterfaceFactory $directoryReadFactory = null
62+
\Magento\Framework\Filesystem\Directory\ReadFactory $directoryReadFactory = null
6363
) {
6464
$this->composerInformation = $composerInformation;
6565
$this->packageFactory = $packageFactory;
6666
$this->componentRegistrar = $componentRegistrar;
6767
$this->directoryReadFactory = $directoryReadFactory ?:
68-
ObjectManager::getInstance()->get(ReadInterfaceFactory::class);
68+
ObjectManager::getInstance()->get(ReadFactory::class);
6969
}
7070

7171
/**
@@ -123,7 +123,7 @@ private function getModuleComposerPackage($moduleDir)
123123
*/
124124
foreach ([$moduleDir, $moduleDir . DIRECTORY_SEPARATOR . '..'] as $dir) {
125125
/** @var Filesystem\Directory\ReadInterface $directory */
126-
$directory = $this->directoryReadFactory->create(['path' => $dir]);
126+
$directory = $this->directoryReadFactory->create($dir);
127127
if ($directory->isExist('composer.json') && $directory->isReadable('composer.json')) {
128128
/** @var Package $package */
129129
return $this->packageFactory->create(['json' => json_decode($directory->readFile('composer.json'))]);

app/code/Magento/SampleData/Test/Unit/Model/DependencyTest.php

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Magento\Framework\Filesystem;
1515
use Magento\Framework\Phrase;
1616
use Magento\SampleData\Model\Dependency;
17+
use Magento\Framework\Filesystem\DriverPool;
1718

1819
class DependencyTest extends \PHPUnit\Framework\TestCase
1920
{
@@ -59,7 +60,7 @@ public function testPackagesFromComposerSuggest(
5960
$moduleDirectories
6061
);
6162

62-
$directoryReadFactory = $this->getMockBuilder(Filesystem\Directory\ReadInterfaceFactory::class)
63+
$directoryReadFactory = $this->getMockBuilder(Filesystem\Directory\ReadFactory::class)
6364
->disableOriginalConstructor()
6465
->setMethods(['create'])
6566
->getMock();
@@ -88,7 +89,8 @@ public static function dataPackagesFromComposerSuggest()
8889
'composerJsonGenerator' => function (DependencyTest $test) {
8990
return [
9091
[
91-
['path' => 'app/code/LocalModule'],
92+
'app/code/LocalModule',
93+
DriverPool::FILE,
9294
$test->stubComposerJsonReader(
9395
[
9496
'name' => 'local/module',
@@ -99,11 +101,13 @@ public static function dataPackagesFromComposerSuggest()
99101
)
100102
],
101103
[
102-
['path' => 'app/code/LocalModuleWithoutComposerJson'],
104+
'app/code/LocalModuleWithoutComposerJson',
105+
DriverPool::FILE,
103106
$test->stubFileNotFoundReader()
104107
],
105108
[
106-
['path' => 'vendor/company/module'],
109+
'vendor/company/module',
110+
DriverPool::FILE,
107111
$test->stubComposerJsonReader(
108112
[
109113
'name' => 'company/module',
@@ -114,7 +118,8 @@ public static function dataPackagesFromComposerSuggest()
114118
)
115119
],
116120
[
117-
['path' => 'vendor/company2/module/src/..'],
121+
'vendor/company2/module/src/..',
122+
DriverPool::FILE,
118123
$test->stubComposerJsonReader(
119124
[
120125
'name' => 'company2/module',
@@ -125,19 +130,23 @@ public static function dataPackagesFromComposerSuggest()
125130
)
126131
],
127132
[
128-
['path' => 'vendor/company2/module/src'],
133+
'vendor/company2/module/src',
134+
DriverPool::FILE,
129135
$test->stubFileNotFoundReader()
130136
],
131137
[
132-
['path' => 'vendor/company/module/..'],
138+
'vendor/company/module/..',
139+
DriverPool::FILE,
133140
$test->stubFileNotFoundReader()
134141
],
135142
[
136-
['path' => 'app/code/LocalModuleWithoutComposerJson/..'],
143+
'app/code/LocalModuleWithoutComposerJson/..',
144+
DriverPool::FILE,
137145
$test->stubFileNotFoundReader()
138146
],
139147
[
140-
['path' => 'app/code/LocalModule/..'],
148+
'app/code/LocalModule/..',
149+
DriverPool::FILE,
141150
$test->stubFileNotFoundReader()
142151
],
143152
];

app/code/Magento/SampleData/etc/di.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,4 @@
1515
</argument>
1616
</arguments>
1717
</type>
18-
<virtualType name="Magento\SampleData\Filesystem\Directory\Read" type="Magento\Framework\Filesystem\Directory\Read">
19-
<arguments>
20-
<argument name="driver" xsi:type="object">Magento\Framework\Filesystem\Driver\File</argument>
21-
</arguments>
22-
</virtualType>
23-
<preference for="Magento\Framework\Filesystem\Directory\ReadInterface" type="Magento\SampleData\Filesystem\Directory\Read" />
2418
</config>

0 commit comments

Comments
 (0)