/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { if (!$this->deploymentConfig->isAvailable()) { $output->writeln("<info>You need to install the Magento application before running this utility.</info>"); return; } $options = $input->getOptions(); $languages = $input->getArgument(self::LANGUAGE_OPTION); foreach ($languages as $lang) { if (!$this->validator->isValid($lang)) { throw new \InvalidArgumentException( $lang . ' argument has invalid value, please run info:language:list for list of available locales' ); } } try { $objectManager = $this->objectManagerProvider->get(); // run the deployment logic $filesUtil = $objectManager->create( '\Magento\Framework\App\Utility\Files', ['pathToSource' => BP] ); $objectManagerFactory = $this->objectManagerProvider->getObjectManagerFactory(); /** @var \Magento\Setup\Model\Deployer $deployer */ $deployer = $objectManager->create( 'Magento\Setup\Model\Deployer', ['filesUtil' => $filesUtil, 'output' => $output, 'isDryRun' => $options[self::DRY_RUN_OPTION]] ); $deployer->deploy($objectManagerFactory, $languages); } catch (\Exception $e) { $output->writeln('<error>' . $e->getMessage() . '</error>>'); if ($output->isVerbose()) { $output->writeln($e->getTraceAsString()); } return; } }