From 6d057c4f87d5fa089b78b52cfbdd8502503c0542 Mon Sep 17 00:00:00 2001 From: Ihor Sviziev Date: Wed, 19 Jun 2019 16:47:00 +0300 Subject: [PATCH] Fix unexpected diff between builds in generated/metadata directory Sort all path definitions before generating config --- .../Setup/Module/Di/App/Task/Operation/Area.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/setup/src/Magento/Setup/Module/Di/App/Task/Operation/Area.php b/setup/src/Magento/Setup/Module/Di/App/Task/Operation/Area.php index ec5fb3f94e4b4..5cc5fd1f1a0e2 100644 --- a/setup/src/Magento/Setup/Module/Di/App/Task/Operation/Area.php +++ b/setup/src/Magento/Setup/Module/Di/App/Task/Operation/Area.php @@ -85,6 +85,8 @@ public function doOperation() } } + $this->sortDefinitions($definitionsCollection); + $areaCodes = array_merge([App\Area::AREA_GLOBAL], $this->areaList->getCodes()); foreach ($areaCodes as $areaCode) { $config = $this->configReader->generateCachePerScope($definitionsCollection, $areaCode); @@ -121,4 +123,18 @@ public function getName() { return 'Area configuration aggregation'; } + + /** + * Sort definitions to make reproducible result + * + * @param DefinitionsCollection $definitionsCollection + */ + private function sortDefinitions(DefinitionsCollection $definitionsCollection): void + { + $definitions = $definitionsCollection->getCollection(); + + ksort($definitions); + + $definitionsCollection->initialize($definitions); + } }