Skip to content

Commit

Permalink
ENGCOM-3756: [Backport] Fixed #19605 Don't static compile disabled mo…
Browse files Browse the repository at this point in the history
…dules #19989
  • Loading branch information
sidolov authored Jan 3, 2019
2 parents c587f1c + fa73175 commit 46d6cb8
Showing 1 changed file with 39 additions and 14 deletions.
53 changes: 39 additions & 14 deletions app/code/Magento/Deploy/Collector/Collector.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@
*/
namespace Magento\Deploy\Collector;

use Magento\Deploy\Source\SourcePool;
use Magento\Deploy\Package\Package;
use Magento\Deploy\Package\PackageFactory;
use Magento\Deploy\Source\SourcePool;
use Magento\Deploy\Package\PackageFile;
use Magento\Framework\Module\Manager;
use Magento\Framework\View\Asset\PreProcessor\FileNameResolver;

/**
Expand Down Expand Up @@ -44,6 +46,9 @@ class Collector implements CollectorInterface
*/
private $packageFactory;

/** @var \Magento\Framework\Module\Manager */
private $moduleManager;

/**
* Default values for package primary identifiers
*
Expand All @@ -61,15 +66,19 @@ class Collector implements CollectorInterface
* @param SourcePool $sourcePool
* @param FileNameResolver $fileNameResolver
* @param PackageFactory $packageFactory
* @param Manager $moduleManager
*/
public function __construct(
SourcePool $sourcePool,
FileNameResolver $fileNameResolver,
PackageFactory $packageFactory
PackageFactory $packageFactory,
Manager $moduleManager = null
) {
$this->sourcePool = $sourcePool;
$this->fileNameResolver = $fileNameResolver;
$this->packageFactory = $packageFactory;
$this->moduleManager = $moduleManager ?: \Magento\Framework\App\ObjectManager::getInstance()
->get(Manager::class);
}

/**
Expand All @@ -81,19 +90,11 @@ public function collect()
foreach ($this->sourcePool->getAll() as $source) {
$files = $source->get();
foreach ($files as $file) {
$file->setDeployedFileName($this->fileNameResolver->resolve($file->getFileName()));
$params = [
'area' => $file->getArea(),
'theme' => $file->getTheme(),
'locale' => $file->getLocale(),
'module' => $file->getModule(),
'isVirtual' => (!$file->getLocale() || !$file->getTheme() || !$file->getArea())
];
foreach ($this->packageDefaultValues as $name => $value) {
if (!isset($params[$name])) {
$params[$name] = $value;
}
if ($file->getModule() && !$this->moduleManager->isEnabled($file->getModule())) {
continue;
}
$file->setDeployedFileName($this->fileNameResolver->resolve($file->getFileName()));
$params = $this->getParams($file);
$packagePath = "{$params['area']}/{$params['theme']}/{$params['locale']}";
if (!isset($packages[$packagePath])) {
$packages[$packagePath] = $this->packageFactory->create($params);
Expand All @@ -105,4 +106,28 @@ public function collect()
}
return $packages;
}

/**
* Retrieve package params.
*
* @param PackageFile $file
* @return array
*/
private function getParams(PackageFile $file)
{
$params = [
'area' => $file->getArea(),
'theme' => $file->getTheme(),
'locale' => $file->getLocale(),
'module' => $file->getModule(),
'isVirtual' => (!$file->getLocale() || !$file->getTheme() || !$file->getArea())
];
foreach ($this->packageDefaultValues as $name => $value) {
if (!isset($params[$name])) {
$params[$name] = $value;
}
}

return $params;
}
}

0 comments on commit 46d6cb8

Please sign in to comment.