Skip to content

Commit 46d6cb8

Browse files
authored
ENGCOM-3756: [Backport] Fixed #19605 Don't static compile disabled modules #19989
2 parents c587f1c + fa73175 commit 46d6cb8

File tree

1 file changed

+39
-14
lines changed

1 file changed

+39
-14
lines changed

app/code/Magento/Deploy/Collector/Collector.php

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
*/
66
namespace Magento\Deploy\Collector;
77

8-
use Magento\Deploy\Source\SourcePool;
98
use Magento\Deploy\Package\Package;
109
use Magento\Deploy\Package\PackageFactory;
10+
use Magento\Deploy\Source\SourcePool;
11+
use Magento\Deploy\Package\PackageFile;
12+
use Magento\Framework\Module\Manager;
1113
use Magento\Framework\View\Asset\PreProcessor\FileNameResolver;
1214

1315
/**
@@ -44,6 +46,9 @@ class Collector implements CollectorInterface
4446
*/
4547
private $packageFactory;
4648

49+
/** @var \Magento\Framework\Module\Manager */
50+
private $moduleManager;
51+
4752
/**
4853
* Default values for package primary identifiers
4954
*
@@ -61,15 +66,19 @@ class Collector implements CollectorInterface
6166
* @param SourcePool $sourcePool
6267
* @param FileNameResolver $fileNameResolver
6368
* @param PackageFactory $packageFactory
69+
* @param Manager $moduleManager
6470
*/
6571
public function __construct(
6672
SourcePool $sourcePool,
6773
FileNameResolver $fileNameResolver,
68-
PackageFactory $packageFactory
74+
PackageFactory $packageFactory,
75+
Manager $moduleManager = null
6976
) {
7077
$this->sourcePool = $sourcePool;
7178
$this->fileNameResolver = $fileNameResolver;
7279
$this->packageFactory = $packageFactory;
80+
$this->moduleManager = $moduleManager ?: \Magento\Framework\App\ObjectManager::getInstance()
81+
->get(Manager::class);
7382
}
7483

7584
/**
@@ -81,19 +90,11 @@ public function collect()
8190
foreach ($this->sourcePool->getAll() as $source) {
8291
$files = $source->get();
8392
foreach ($files as $file) {
84-
$file->setDeployedFileName($this->fileNameResolver->resolve($file->getFileName()));
85-
$params = [
86-
'area' => $file->getArea(),
87-
'theme' => $file->getTheme(),
88-
'locale' => $file->getLocale(),
89-
'module' => $file->getModule(),
90-
'isVirtual' => (!$file->getLocale() || !$file->getTheme() || !$file->getArea())
91-
];
92-
foreach ($this->packageDefaultValues as $name => $value) {
93-
if (!isset($params[$name])) {
94-
$params[$name] = $value;
95-
}
93+
if ($file->getModule() && !$this->moduleManager->isEnabled($file->getModule())) {
94+
continue;
9695
}
96+
$file->setDeployedFileName($this->fileNameResolver->resolve($file->getFileName()));
97+
$params = $this->getParams($file);
9798
$packagePath = "{$params['area']}/{$params['theme']}/{$params['locale']}";
9899
if (!isset($packages[$packagePath])) {
99100
$packages[$packagePath] = $this->packageFactory->create($params);
@@ -105,4 +106,28 @@ public function collect()
105106
}
106107
return $packages;
107108
}
109+
110+
/**
111+
* Retrieve package params.
112+
*
113+
* @param PackageFile $file
114+
* @return array
115+
*/
116+
private function getParams(PackageFile $file)
117+
{
118+
$params = [
119+
'area' => $file->getArea(),
120+
'theme' => $file->getTheme(),
121+
'locale' => $file->getLocale(),
122+
'module' => $file->getModule(),
123+
'isVirtual' => (!$file->getLocale() || !$file->getTheme() || !$file->getArea())
124+
];
125+
foreach ($this->packageDefaultValues as $name => $value) {
126+
if (!isset($params[$name])) {
127+
$params[$name] = $value;
128+
}
129+
}
130+
131+
return $params;
132+
}
108133
}

0 commit comments

Comments
 (0)