Skip to content

Commit 3d20656

Browse files
author
Karpenko, Oleksandr
committed
MAGETWO-69515: Static files are deployed too slow for multiple locales
1 parent d3f4a7d commit 3d20656

File tree

3 files changed

+29
-3
lines changed

3 files changed

+29
-3
lines changed

app/code/Magento/Deploy/Service/DeployRequireJsConfig.php

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
*/
66
namespace Magento\Deploy\Service;
77

8+
use Magento\Framework\Locale\ResolverInterfaceFactory;
9+
use Magento\Framework\Locale\ResolverInterface;
810
use Magento\RequireJs\Model\FileManagerFactory;
911
use Magento\Framework\View\DesignInterfaceFactory;
1012
use Magento\Framework\View\Design\Theme\ListInterface;
@@ -46,6 +48,11 @@ class DeployRequireJsConfig
4648
*/
4749
private $requireJsConfigFactory;
4850

51+
/**
52+
* @var ResolverInterfaceFactory
53+
*/
54+
private $localeFactory;
55+
4956
/**
5057
* DeployRequireJsConfig constructor
5158
*
@@ -54,31 +61,40 @@ class DeployRequireJsConfig
5461
* @param RepositoryFactory $assetRepoFactory
5562
* @param FileManagerFactory $fileManagerFactory
5663
* @param ConfigFactory $requireJsConfigFactory
64+
* @param ResolverInterfaceFactory $localeFactory
5765
*/
5866
public function __construct(
5967
ListInterface $themeList,
6068
DesignInterfaceFactory $designFactory,
6169
RepositoryFactory $assetRepoFactory,
6270
FileManagerFactory $fileManagerFactory,
63-
ConfigFactory $requireJsConfigFactory
71+
ConfigFactory $requireJsConfigFactory,
72+
ResolverInterfaceFactory $localeFactory
6473
) {
6574
$this->themeList = $themeList;
6675
$this->designFactory = $designFactory;
6776
$this->assetRepoFactory = $assetRepoFactory;
6877
$this->fileManagerFactory = $fileManagerFactory;
6978
$this->requireJsConfigFactory = $requireJsConfigFactory;
79+
$this->localeFactory = $localeFactory;
7080
}
7181

7282
/**
7383
* @param string $areaCode
7484
* @param string $themePath
85+
* @param string $localeCode
7586
* @return bool true on success
7687
*/
77-
public function deploy($areaCode, $themePath)
88+
public function deploy($areaCode, $themePath, $localeCode)
7889
{
7990
/** @var \Magento\Framework\View\Design\ThemeInterface $theme */
8091
$theme = $this->themeList->getThemeByFullPath($areaCode . '/' . $themePath);
92+
/** @var \Magento\Theme\Model\View\Design $design */
8193
$design = $this->designFactory->create()->setDesignTheme($theme, $areaCode);
94+
/** @var ResolverInterface $locale */
95+
$locale = $this->localeFactory->create();
96+
$locale->setLocale($localeCode);
97+
$design->setLocale($locale);
8298

8399
$assetRepo = $this->assetRepoFactory->create(['design' => $design]);
84100
/** @var \Magento\RequireJs\Model\FileManager $fileManager */

app/code/Magento/Deploy/Service/DeployStaticContent.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public function deploy(array $options)
115115
]);
116116
foreach ($packages as $package) {
117117
if (!$package->isVirtual()) {
118-
$deployRjsConfig->deploy($package->getArea(), $package->getTheme());
118+
$deployRjsConfig->deploy($package->getArea(), $package->getTheme(), $package->getLocale());
119119
$deployI18n->deploy($package->getArea(), $package->getTheme(), $package->getLocale());
120120
$deployBundle->deploy($package->getArea(), $package->getTheme(), $package->getLocale());
121121
}

app/code/Magento/Theme/Model/View/Design.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,16 @@ public function getLocale()
256256
return $this->_locale->getLocale();
257257
}
258258

259+
/**
260+
* @param \Magento\Framework\Locale\ResolverInterface $locale
261+
* @return $this
262+
*/
263+
public function setLocale(\Magento\Framework\Locale\ResolverInterface $locale)
264+
{
265+
$this->_locale = $locale;
266+
return $this;
267+
}
268+
259269
/**
260270
* {@inheritdoc}
261271
*/

0 commit comments

Comments
 (0)