|
32 | 32 | 'extra-classes-file=s' => 'path to file with extra proxies and factories to generate',
|
33 | 33 | 'generation=s' => 'absolute path to generated classes, <magento_root>/var/generation by default',
|
34 | 34 | 'di=s' => 'absolute path to DI definitions directory, <magento_root>/var/di by default',
|
| 35 | + 'exclude-pattern=s' => 'allows to exclude Paths from compilation (default is #[\\\\/]m1[\\\\/]#i)', |
35 | 36 | ]
|
36 | 37 | );
|
37 | 38 | $opt->parse();
|
38 | 39 |
|
39 | 40 | $generationDir = $opt->getOption('generation') ? $opt->getOption('generation') : $rootDir . '/var/generation';
|
40 | 41 | $diDir = $opt->getOption('di') ? $opt->getOption('di') : $rootDir . '/var/di';
|
| 42 | + $fileExcludePatterns = $opt->getOption('exclude-pattern') ? |
| 43 | + [$opt->getOption('exclude-pattern')] : ['#[\\\\/]M1[\\\\/]#i']; |
41 | 44 | $relationsFile = $diDir . '/relations.ser';
|
42 | 45 | $pluginDefFile = $diDir . '/plugins.ser';
|
43 | 46 |
|
|
60 | 63 | $filePatterns = ['php' => '/.*\.php$/', 'di' => '/\/etc\/([a-zA-Z_]*\/di|di)\.xml$/'];
|
61 | 64 | $codeScanDir = realpath($rootDir . '/app');
|
62 | 65 | $directoryScanner = new Scanner\DirectoryScanner();
|
63 |
| - $files = $directoryScanner->scan($codeScanDir, $filePatterns); |
| 66 | + $files = $directoryScanner->scan($codeScanDir, $filePatterns, $fileExcludePatterns); |
64 | 67 | $files['additional'] = [$opt->getOption('extra-classes-file')];
|
65 | 68 | $entities = [];
|
66 | 69 |
|
|
144 | 147 | $validator = new \Magento\Framework\Code\Validator();
|
145 | 148 | $validator->add(new \Magento\Framework\Code\Validator\ConstructorIntegrity());
|
146 | 149 | $validator->add(new \Magento\Framework\Code\Validator\ContextAggregation());
|
| 150 | + $classesScanner = new \Magento\Tools\Di\Code\Reader\ClassesScanner(); |
| 151 | + $classesScanner->addExcludePatterns($fileExcludePatterns); |
147 | 152 |
|
148 | 153 | $directoryInstancesNamesList = new \Magento\Tools\Di\Code\Reader\InstancesNamesList\Directory(
|
149 | 154 | $log,
|
150 | 155 | new \Magento\Framework\Code\Reader\ClassReader(),
|
151 |
| - new \Magento\Tools\Di\Code\Reader\ClassesScanner(), |
| 156 | + $classesScanner, |
152 | 157 | $validator,
|
153 | 158 | $generationDir
|
154 | 159 | );
|
|
0 commit comments