Skip to content

Commit 5d7d0bc

Browse files
author
Joan He
committed
MAGETWO-41954: Eliminate code generatio in production mode
1 parent 75e4631 commit 5d7d0bc

File tree

6 files changed

+23
-10
lines changed

6 files changed

+23
-10
lines changed

setup/src/Magento/Setup/Console/Command/DiCompileCommand.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,11 +296,13 @@ private function getOperationsConfiguration(
296296
$operations = [
297297
OperationFactory::PROXY_GENERATOR => [
298298
'paths' => $compiledPathsList['application'],
299-
'filePatterns' => ['di' => '/\/etc\/([a-zA-Z_]*\/di|di)\.xml$/']
299+
'filePatterns' => ['di' => '/\/etc\/([a-zA-Z_]*\/di|di)\.xml$/'],
300+
'excludePatterns' => ['/\/Test\//']
300301
],
301302
OperationFactory::REPOSITORY_GENERATOR => [
302303
'paths' => $compiledPathsList['application'],
303-
'filePatterns' => ['di' => '/\/etc\/([a-zA-Z_]*\/di|di)\.xml$/']
304+
'filePatterns' => ['di' => '/\/etc\/([a-zA-Z_]*\/di|di)\.xml$/'],
305+
'excludePatterns' => ['/\/Test\//']
304306
],
305307
OperationFactory::DATA_ATTRIBUTES_GENERATOR => [
306308
'paths' => $compiledPathsList['application'],

setup/src/Magento/Setup/Module/Di/App/Task/Operation/ApplicationCodeGenerator.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,10 @@ public function doOperation()
6969
$files = [];
7070
foreach ($paths as $path) {
7171
$this->classesScanner->getList($path);
72-
$files = array_merge_recursive($files, $this->directoryScanner->scan($path, $this->data['filePatterns'], $this->data['excludePatterns']));
72+
$files = array_merge_recursive(
73+
$files,
74+
$this->directoryScanner->scan($path, $this->data['filePatterns'], $this->data['excludePatterns'])
75+
);
7376
}
7477
$entities = $this->phpScanner->collectEntities($files['php']);
7578
foreach ($entities as $entityName) {

setup/src/Magento/Setup/Module/Di/App/Task/Operation/ProxyGenerator.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,17 @@ public function __construct(
4848
*/
4949
public function doOperation()
5050
{
51-
if (array_diff(array_keys($this->data), ['filePatterns', 'paths'])
52-
!== array_diff(['filePatterns', 'paths'], array_keys($this->data))) {
51+
if (array_diff(array_keys($this->data), ['filePatterns', 'paths', 'excludePatterns'])
52+
!== array_diff(['filePatterns', 'paths', 'excludePatterns'], array_keys($this->data))) {
5353
return;
5454
}
5555

5656
$files = [];
5757
foreach ($this->data['paths'] as $path) {
58-
$files = array_merge_recursive($files, $this->directoryScanner->scan($path, $this->data['filePatterns']));
58+
$files = array_merge_recursive(
59+
$files,
60+
$this->directoryScanner->scan($path, $this->data['filePatterns'], $this->data['excludePatterns'])
61+
);
5962
}
6063
$proxies = $this->proxyScanner->collectEntities($files['di']);
6164
foreach ($proxies as $entityName) {

setup/src/Magento/Setup/Module/Di/App/Task/Operation/RepositoryGenerator.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ public function __construct(
5757
*/
5858
public function doOperation()
5959
{
60-
if (array_diff(array_keys($this->data), ['filePatterns', 'paths'])
61-
!== array_diff(['filePatterns', 'paths'], array_keys($this->data))) {
60+
if (array_diff(array_keys($this->data), ['filePatterns', 'paths', 'excludePatterns'])
61+
!== array_diff(['filePatterns', 'paths', 'excludePatterns'], array_keys($this->data))) {
6262
return;
6363
}
6464

@@ -68,7 +68,10 @@ public function doOperation()
6868
$this->repositoryScanner->setUseAutoload(false);
6969
$files = [];
7070
foreach ($this->data['paths'] as $path) {
71-
$files = array_merge_recursive($files, $this->directoryScanner->scan($path, $this->data['filePatterns']));
71+
$files = array_merge_recursive(
72+
$files,
73+
$this->directoryScanner->scan($path, $this->data['filePatterns'], $this->data['excludePatterns'])
74+
);
7275
}
7376
$repositories = $this->repositoryScanner->collectEntities($files['di']);
7477
foreach ($repositories as $entityName) {

setup/src/Magento/Setup/Test/Unit/Module/Di/App/Task/ProxyGeneratorTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ public function testDoOperation()
7070
$data = [
7171
'paths' => ['path/to/app'],
7272
'filePatterns' => ['di' => 'di.xml'],
73+
'excludePatterns' => ['/\/Test\//'],
7374
];
7475
$files = ['di' => []];
7576
$model = new ProxyGenerator(

setup/src/Magento/Setup/Test/Unit/Module/Di/App/Task/RepositoryGeneratorTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class RepositoryGeneratorTest extends \PHPUnit_Framework_TestCase
1616
* @var Scanner\DirectoryScanner | \PHPUnit_Framework_MockObject_MockObject
1717
*/
1818
private $directoryScannerMock;
19-
19+
2020
/**
2121
* @var Scanner\RepositoryScanner | \PHPUnit_Framework_MockObject_MockObject
2222
*/
@@ -75,6 +75,7 @@ public function testDoOperationEmptyRepositories()
7575
$data = [
7676
'paths' => ['path/to/app'],
7777
'filePatterns' => ['di' => 'di.xml'],
78+
'excludePatterns' => ['/\/Test\//'],
7879
];
7980
$files = ['di' => []];
8081
$model = new RepositoryGenerator(

0 commit comments

Comments
 (0)