![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/setup/src/Magento/Setup/Module/Dependency/Report/Framework/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Setup\Module\Dependency\Report\Framework; use Magento\Setup\Module\Dependency\ParserInterface; use Magento\Setup\Module\Dependency\Report\Builder\AbstractBuilder; use Magento\Setup\Module\Dependency\Report\WriterInterface; /** * Framework dependencies report builder */ class Builder extends AbstractBuilder { /** * Config parser * * @var \Magento\Setup\Module\Dependency\ParserInterface */ protected $configParser; /** * Builder constructor * * @param ParserInterface $dependenciesParser * @param WriterInterface $reportWriter * @param ParserInterface $configParser */ public function __construct( ParserInterface $dependenciesParser, WriterInterface $reportWriter, ParserInterface $configParser ) { parent::__construct($dependenciesParser, $reportWriter); $this->configParser = $configParser; } /** * Template method. Check passed options step * * @param array $options * @return void * @throws \InvalidArgumentException */ protected function checkOptions($options) { parent::checkOptions($options); if (!isset($options['parse']['config_files']) || empty($options['parse']['config_files'])) { throw new \InvalidArgumentException('Parse error. Passed option "config_files" is wrong.'); } } /** * Template method. Prepare data for writer step * * @param array $modulesData * @return \Magento\Setup\Module\Dependency\Report\Framework\Data\Config */ protected function buildData($modulesData) { $allowedModules = $this->getAllowedModules(); $modules = []; foreach ($modulesData as $moduleData) { $dependencies = []; foreach ($moduleData['dependencies'] as $dependencyData) { if (!in_array($dependencyData['lib'], $allowedModules)) { $dependencies[] = new Data\Dependency($dependencyData['lib'], $dependencyData['count']); } } $modules[] = new Data\Module($moduleData['name'], $dependencies); } return new Data\Config($modules); } /** * Get allowed modules * * @return array */ protected function getAllowedModules() { return $this->configParser->parse(['files_for_parse' => $this->options['parse']['config_files']]); } }