Skip to content

Commit 07fa800

Browse files
author
Ivan Gavryshko
committed
MAGETWO-43019: Remove Support of Custom Base Path from \Magento\Framework\App\Utility\Files
- removed path from constructor in Magento\Framework\App\Utility\Files - removed getPhpFiles mwdhod from Magento\Framework\App\Utility\Files - code and test changes according to it
1 parent f7e7023 commit 07fa800

File tree

19 files changed

+197
-137
lines changed

19 files changed

+197
-137
lines changed

Diff for: app/code/Magento/Translation/Model/Js/DataProvider.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public function __construct(
7575
$this->rootDirectory = $filesystem->getDirectoryRead(DirectoryList::ROOT);
7676
$this->translate = $translate;
7777
$this->filesUtility = (null !== $filesUtility) ?
78-
$filesUtility : new \Magento\Framework\App\Utility\Files(new ComponentRegistrar(), $dirSearch, BP);
78+
$filesUtility : new \Magento\Framework\App\Utility\Files(new ComponentRegistrar(), $dirSearch);
7979
}
8080

8181
/**

Diff for: dev/tests/api-functional/framework/bootstrap.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,6 @@
9393
$dirSearch = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
9494
->create('Magento\Framework\Component\DirSearch');
9595
\Magento\Framework\App\Utility\Files::setInstance(
96-
new \Magento\Framework\App\Utility\Files(new \Magento\Framework\Component\ComponentRegistrar(), $dirSearch, BP)
96+
new \Magento\Framework\App\Utility\Files(new \Magento\Framework\Component\ComponentRegistrar(), $dirSearch)
9797
);
9898
unset($bootstrap, $application, $settings, $shell);

Diff for: dev/tests/integration/framework/Magento/TestFramework/Workaround/Cleanup/StaticProperties.php

+6-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
namespace Magento\TestFramework\Workaround\Cleanup;
1111

1212
use Magento\Framework\Component\ComponentRegistrar;
13+
use Magento\Framework\App\Utility\Files;
1314

1415
class StaticProperties
1516
{
@@ -129,7 +130,11 @@ public static function restoreStaticVariables()
129130
*/
130131
public static function backupStaticVariables()
131132
{
132-
$classFiles = \Magento\Framework\App\Utility\Files::init()->getClassFiles(true, true, false, true, false);
133+
$classFiles = Files::init()->getClassFiles(
134+
Files::INCLUDE_APP_CODE
135+
| Files::INCLUDE_LIBS
136+
| Files::INCLUDE_TESTS
137+
);
133138
$namespacePattern = '/namespace [a-zA-Z0-9\\\\]+;/';
134139
$classPattern = '/\nclass [a-zA-Z0-9_]+/';
135140
foreach ($classFiles as $classFile) {

Diff for: dev/tests/integration/testsuite/Magento/Framework/App/Utility/FilesTest.php

+10-4
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public function setUp()
3434
$componentRegistrar = new ComponentRegistrar();
3535
$dirSearch = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
3636
->create('Magento\Framework\Component\DirSearch');
37-
$this->model = new Files($componentRegistrar, $dirSearch, BP);
37+
$this->model = new Files($componentRegistrar, $dirSearch);
3838
foreach ($componentRegistrar->getPaths(ComponentRegistrar::MODULE) as $moduleDir) {
3939
$this->moduleTests[] = '#' . $moduleDir . '/Test#';
4040
}
@@ -47,7 +47,13 @@ public function setUp()
4747
public function testGetPhpFilesExcludeTests()
4848
{
4949
$this->assertNoTestDirs(
50-
$this->model->getPhpFiles(true, true, true, false)
50+
$this->model->getClassFiles(
51+
Files::INCLUDE_APP_CODE
52+
| Files::INCLUDE_PUB_CODE
53+
| Files::INCLUDE_LIBS
54+
| Files::INCLUDE_TEMPLATES
55+
| Files::INCLUDE_TESTS
56+
)
5157
);
5258
}
5359

@@ -61,13 +67,13 @@ public function testGetComposerExcludeTests()
6167
public function testGetClassFilesExcludeTests()
6268
{
6369
$this->assertNoTestDirs(
64-
$this->model->getClassFiles(true, false, true, true, false)
70+
$this->model->getClassFiles(Files::INCLUDE_APP_CODE | Files::INCLUDE_DEV_TOOLS | Files::INCLUDE_LIBS)
6571
);
6672
}
6773

6874
public function testGetClassFilesOnlyTests()
6975
{
70-
$classFiles = $this->model->getClassFiles(false, true, false, false, false);
76+
$classFiles = $this->model->getClassFiles(Files::INCLUDE_TESTS);
7177

7278
foreach ($this->moduleTests as $moduleTest) {
7379
$classFiles = preg_grep($moduleTest, $classFiles, PREG_GREP_INVERT);

Diff for: dev/tests/static/framework/Magento/TestFramework/Utility/ChangedFiles.php

+16-2
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,24 @@ public static function getPhpFiles($changedFilesList)
2828
$phpFiles = Files::readLists($changedFilesList);
2929
if (!empty($phpFiles)) {
3030
$phpFiles = \Magento\Framework\App\Utility\Files::composeDataSets($phpFiles);
31-
$phpFiles = array_intersect_key($phpFiles, $fileHelper->getPhpFiles());
31+
$phpFiles = array_intersect_key($phpFiles, $fileHelper->getClassFiles(
32+
Files::INCLUDE_APP_CODE
33+
| Files::INCLUDE_PUB_CODE
34+
| Files::INCLUDE_LIBS
35+
| Files::INCLUDE_TEMPLATES
36+
| Files::INCLUDE_TESTS
37+
| Files::INCLUDE_DATA_SET
38+
));
3239
}
3340
} else {
34-
$phpFiles = $fileHelper->getPhpFiles();
41+
$phpFiles = $fileHelper->getClassFiles(
42+
Files::INCLUDE_APP_CODE
43+
| Files::INCLUDE_PUB_CODE
44+
| Files::INCLUDE_LIBS
45+
| Files::INCLUDE_TEMPLATES
46+
| Files::INCLUDE_TESTS
47+
| Files::INCLUDE_DATA_SET
48+
);
3549
}
3650

3751
return $phpFiles;

Diff for: dev/tests/static/framework/bootstrap.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313

1414
$dirSearch = new DirSearch(new ComponentRegistrar(), new ReadFactory(new DriverPool()));
1515
\Magento\Framework\App\Utility\Files::setInstance(
16-
new \Magento\Framework\App\Utility\Files(new ComponentRegistrar(), $dirSearch, BP)
16+
new \Magento\Framework\App\Utility\Files(new ComponentRegistrar(), $dirSearch)
1717
);

Diff for: dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php

+17-10
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
use Magento\Framework\App\Utility\Classes;
1111
use Magento\Framework\Component\ComponentRegistrar;
12+
use Magento\Framework\App\Utility\Files;
1213

1314
class ClassesTest extends \PHPUnit_Framework_TestCase
1415
{
@@ -72,7 +73,13 @@ function ($file) {
7273

7374
$this->_assertClassesExist($classes, $file);
7475
},
75-
\Magento\Framework\App\Utility\Files::init()->getPhpFiles(true, true, true, true, false)
76+
Files::init()->getClassFiles(
77+
Files::INCLUDE_APP_CODE
78+
| Files::INCLUDE_PUB_CODE
79+
| Files::INCLUDE_LIBS
80+
| Files::INCLUDE_TEMPLATES
81+
| Files::INCLUDE_DATA_SET
82+
)
7683
);
7784
}
7885

@@ -102,7 +109,7 @@ function ($path) {
102109
$classes = Classes::collectClassesInConfig(simplexml_load_file($path));
103110
$this->_assertClassesExist($classes, $path);
104111
},
105-
\Magento\Framework\App\Utility\Files::init()->getMainConfigFiles()
112+
Files::init()->getMainConfigFiles()
106113
);
107114
}
108115

@@ -139,7 +146,7 @@ function ($path) {
139146

140147
$this->_assertClassesExist(array_unique($classes), $path);
141148
},
142-
\Magento\Framework\App\Utility\Files::init()->getLayoutFiles()
149+
Files::init()->getLayoutFiles()
143150
);
144151
}
145152

@@ -169,7 +176,7 @@ protected function _assertClassesExist($classes, $path)
169176
$this->assertTrue(
170177
isset(
171178
self::$_existingClasses[$class]
172-
) || \Magento\Framework\App\Utility\Files::init()->classFileExists(
179+
) || Files::init()->classFileExists(
173180
$class
174181
) || Classes::isVirtual(
175182
$class
@@ -202,7 +209,7 @@ public function testClassNamespaces()
202209
*/
203210
function ($file) {
204211
$relativePath = str_replace(
205-
\Magento\Framework\App\Utility\Files::init()->getPathToSource() . "/",
212+
Files::init()->getPathToSource() . "/",
206213
"",
207214
$file
208215
);
@@ -228,7 +235,7 @@ function ($file) {
228235
$className = array_pop($classParts);
229236
$this->_assertClassNamespace($file, $relativePath, $contents, $className);
230237
},
231-
\Magento\Framework\App\Utility\Files::init()->getClassFiles()
238+
Files::init()->getClassFiles()
232239
);
233240
}
234241

@@ -311,7 +318,7 @@ public function testClassReferences()
311318
*/
312319
function ($file) {
313320
$relativePath = str_replace(
314-
\Magento\Framework\App\Utility\Files::init()->getPathToSource(),
321+
Files::init()->getPathToSource(),
315322
"",
316323
$file
317324
);
@@ -393,7 +400,7 @@ function ($file) {
393400
$badClasses = $this->removeSpecialCases($badClasses, $file, $contents, $namespacePath);
394401
$this->_assertClassReferences($badClasses, $file);
395402
},
396-
\Magento\Framework\App\Utility\Files::init()->getClassFiles()
403+
Files::init()->getClassFiles()
397404
);
398405
}
399406

@@ -534,7 +541,7 @@ private function removeSpecialCasesNonFullyQualifiedClassNames($namespacePath, &
534541
'/dev/tests/static/testsuite/',
535542
'/setup/src/',
536543
];
537-
$pathToSource = \Magento\Framework\App\Utility\Files::init()->getPathToSource();
544+
$pathToSource = Files::init()->getPathToSource();
538545
$libraryPaths = $this->getLibraryPaths($componentRegistrar, $pathToSource);
539546
$directories = array_merge($directories, $libraryPaths);
540547
// Full list of directories where there may be namespace classes
@@ -586,7 +593,7 @@ protected function _assertClassReferences($badClasses, $file)
586593

587594
public function testCoversAnnotation()
588595
{
589-
$files = \Magento\Framework\App\Utility\Files::init();
596+
$files = Files::init();
590597
$errors = [];
591598
foreach ($files->getFiles([BP . '/dev/tests/{integration,unit}'], '*') as $file) {
592599
$code = file_get_contents($file);

Diff for: dev/tests/static/testsuite/Magento/Test/Integrity/DependencyTest.php

+16-12
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
namespace Magento\Test\Integrity;
1010

1111
use Magento\Framework\Component\ComponentRegistrar;
12+
use Magento\Framework\App\Utility\Files;
1213

1314
/**
1415
* @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
@@ -135,7 +136,7 @@ class DependencyTest extends \PHPUnit_Framework_TestCase
135136
*/
136137
public static function setUpBeforeClass()
137138
{
138-
self::$_namespaces = implode('|', \Magento\Framework\App\Utility\Files::init()->getNamespaces());
139+
self::$_namespaces = implode('|', Files::init()->getNamespaces());
139140

140141
self::_prepareListConfigXml();
141142
self::_prepareListRoutesXml();
@@ -385,7 +386,7 @@ public function testRedundant()
385386
*/
386387
protected static function _getRelativeFilename($absoluteFilename)
387388
{
388-
$pathToSource = \Magento\Framework\App\Utility\Files::init()->getPathToSource();
389+
$pathToSource = Files::init()->getPathToSource();
389390
$relativeFileName = str_replace($pathToSource, '', $absoluteFilename);
390391
return trim(str_replace('\\', '/', $relativeFileName), '/');
391392
}
@@ -425,27 +426,30 @@ public function getAllFiles()
425426
$files,
426427
$this->_prepareFiles(
427428
'php',
428-
\Magento\Framework\App\Utility\Files::init()->getPhpFiles(true, false, false, true, false),
429+
Files::init()->getClassFiles(
430+
Files::INCLUDE_APP_CODE
431+
| Files::INCLUDE_DATA_SET
432+
),
429433
true
430434
)
431435
);
432436

433437
// Get all configuration files
434438
$files = array_merge(
435439
$files,
436-
$this->_prepareFiles('config', \Magento\Framework\App\Utility\Files::init()->getConfigFiles())
440+
$this->_prepareFiles('config', Files::init()->getConfigFiles())
437441
);
438442

439443
//Get all layout updates files
440444
$files = array_merge(
441445
$files,
442-
$this->_prepareFiles('layout', \Magento\Framework\App\Utility\Files::init()->getLayoutFiles())
446+
$this->_prepareFiles('layout', Files::init()->getLayoutFiles())
443447
);
444448

445449
// Get all template files
446450
$files = array_merge(
447451
$files,
448-
$this->_prepareFiles('template', \Magento\Framework\App\Utility\Files::init()->getPhtmlFiles())
452+
$this->_prepareFiles('template', Files::init()->getPhtmlFiles())
449453
);
450454

451455
return $files;
@@ -456,7 +460,7 @@ public function getAllFiles()
456460
*/
457461
protected static function _prepareListConfigXml()
458462
{
459-
$files = \Magento\Framework\App\Utility\Files::init()->getConfigFiles('config.xml', [], false);
463+
$files = Files::init()->getConfigFiles('config.xml', [], false);
460464
foreach ($files as $file) {
461465
if (preg_match('/(?<namespace>[A-Z][a-z]+)[_\/\\\\](?<module>[A-Z][a-zA-Z]+)/', $file, $matches)) {
462466
$module = $matches['namespace'] . '\\' . $matches['module'];
@@ -470,7 +474,7 @@ protected static function _prepareListConfigXml()
470474
*/
471475
protected static function _prepareListRoutesXml()
472476
{
473-
$files = \Magento\Framework\App\Utility\Files::init()->getConfigFiles('*/routes.xml', [], false);
477+
$files = Files::init()->getConfigFiles('*/routes.xml', [], false);
474478
foreach ($files as $file) {
475479
if (preg_match('/(?<namespace>[A-Z][a-z]+)[_\/\\\\](?<module>[A-Z][a-zA-Z]+)/', $file, $matches)) {
476480
$module = $matches['namespace'] . '\\' . $matches['module'];
@@ -487,7 +491,7 @@ protected static function _prepareMapRouters()
487491
$pattern = '/(?<namespace>[A-Z][a-z]+)[_\/\\\\](?<module>[A-Z][a-zA-Z]+)\/Controller\/' .
488492
'(?<path>[\/\w]*).php/';
489493

490-
$files = \Magento\Framework\App\Utility\Files::init()->getPhpFiles(true, false, false, false, false);
494+
$files = Files::init()->getClassFiles(Files::INCLUDE_APP_CODE);
491495
foreach ($files as $file) {
492496
if (preg_match($pattern, $file, $matches)) {
493497
$module = $matches['namespace'] . '\\' . $matches['module'];
@@ -533,7 +537,7 @@ private static function updateRoutersMap($module, $configFile)
533537
*/
534538
protected static function _prepareMapLayoutBlocks()
535539
{
536-
$files = \Magento\Framework\App\Utility\Files::init()->getLayoutFiles([], false);
540+
$files = Files::init()->getLayoutFiles([], false);
537541
foreach ($files as $file) {
538542
$area = 'default';
539543
if (preg_match('/[\/](?<area>adminhtml|frontend)[\/]/', $file, $matches)) {
@@ -561,7 +565,7 @@ protected static function _prepareMapLayoutBlocks()
561565
*/
562566
protected static function _prepareMapLayoutHandles()
563567
{
564-
$files = \Magento\Framework\App\Utility\Files::init()->getLayoutFiles([], false);
568+
$files = Files::init()->getLayoutFiles([], false);
565569
foreach ($files as $file) {
566570
$area = 'default';
567571
if (preg_match('/\/(?<area>adminhtml|frontend)\//', $file, $matches)) {
@@ -626,7 +630,7 @@ protected static function convertModuleName($jsonName)
626630
*/
627631
protected static function _initDependencies()
628632
{
629-
$jsonFiles = \Magento\Framework\App\Utility\Files::init()->getComposerFiles(ComponentRegistrar::MODULE, false);
633+
$jsonFiles = Files::init()->getComposerFiles(ComponentRegistrar::MODULE, false);
630634
foreach ($jsonFiles as $file) {
631635
$contents = file_get_contents($file);
632636
$decodedJson = json_decode($contents);

Diff for: dev/tests/static/testsuite/Magento/Test/Integrity/ExceptionHierarchyTest.php

+4-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ public function testIsInheritedLocalizedException(\ReflectionClass $reflectionEx
2929
*/
3030
public function isInheritedLocalizedExceptionDataProvider()
3131
{
32-
$files = UtilityFiles::init()->getClassFiles(true, false, false, true, false);
32+
$files = UtilityFiles::init()->getClassFiles(
33+
UtilityFiles::INCLUDE_APP_CODE
34+
| UtilityFiles::INCLUDE_LIBS
35+
);
3336
$blacklistExceptions = $this->getBlacklistExceptions();
3437

3538
$data = [];

Diff for: dev/tests/static/testsuite/Magento/Test/Integrity/HhvmCompatibilityTest.php

+7-2
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,14 @@ public function testAllowedIniGetSetDirectives()
6262
protected function getFiles()
6363
{
6464
return \array_merge(
65-
Files::init()->getPhpFiles(true, true, true, false),
65+
Files::init()->getClassFiles(
66+
Files::INCLUDE_APP_CODE
67+
| Files::INCLUDE_PUB_CODE
68+
| Files::INCLUDE_LIBS
69+
| Files::INCLUDE_TEMPLATES
70+
),
6671
Files::init()->getPhtmlFiles(false, false),
67-
Files::init()->getFiles([Files::init()->getPathToSource() . '/dev/'], '*.php')
72+
Files::init()->getFiles([BP . '/dev/'], '*.php')
6873
);
6974
}
7075

Diff for: dev/tests/static/testsuite/Magento/Test/Integrity/Layout/BlocksTest.php

+5-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,11 @@ function ($alias, $file) {
9696
public function getChildBlockDataProvider()
9797
{
9898
$result = [];
99-
foreach (Files::init()->getPhpFiles(true, false, true, false, false) as $file) {
99+
$collectedFiles = Files::init()->getClassFiles(
100+
Files::INCLUDE_APP_CODE
101+
| Files::INCLUDE_TEMPLATES
102+
);
103+
foreach ($collectedFiles as $file) {
100104
$aliases = \Magento\Framework\App\Utility\Classes::getAllMatches(
101105
file_get_contents($file),
102106
'/\->getChildBlock\(\'([^\']+)\'\)/x'

Diff for: dev/tests/static/testsuite/Magento/Test/Integrity/Library/DependencyTest.php

+9-2
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,11 @@ function ($file) use ($path) {
9393
);
9494
}
9595
},
96-
$files->getPhpFiles(false, true, false, true, false)
96+
$files->getClassFiles(
97+
Files::INCLUDE_PUB_CODE
98+
| Files::INCLUDE_LIBS
99+
| Files::INCLUDE_DATA_SET
100+
)
97101
);
98102
}
99103

@@ -133,7 +137,10 @@ public function libraryDataProvider()
133137
// @TODO: remove this code when class Magento\Framework\Data\Collection will fixed
134138
include_once BP . '/lib/internal/Magento/Framework/Option/ArrayInterface.php';
135139
$blackList = file(__DIR__ . '/_files/blacklist.txt', FILE_IGNORE_NEW_LINES);
136-
$dataProvider = Files::init()->getClassFiles(false, false, false, true, true);
140+
$dataProvider = Files::init()->getClassFiles(
141+
Files::INCLUDE_LIBS
142+
| Files::INCLUDE_DATA_SET
143+
);
137144

138145
foreach ($dataProvider as $key => $data) {
139146
$file = str_replace(BP . '/', '', $data[0]);

0 commit comments

Comments
 (0)