1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Mtf\Troubleshooting;
- use Magento\Mtf\Console\Output;
- use Magento\Mtf\ObjectManagerInterface;
- use Symfony\Component\Console\Input\InputInterface;
- use Symfony\Component\Console\Output\OutputInterface;
- /**
- * Generates static classes (Blocks, Pages, Repositories etc.).
- */
- class StaticClassesGenerator extends \Symfony\Component\Console\Command\Command
- {
- /**
- * Object manager instance.
- *
- * @var ObjectManagerInterface
- */
- private $objectManager;
- /**
- * @param ObjectManagerInterface $objectManager
- */
- public function __construct(ObjectManagerInterface $objectManager)
- {
- parent::__construct();
- $this->objectManager = $objectManager;
- }
- /**
- * Configure command.
- *
- * @return void
- */
- protected function configure()
- {
- parent::configure();
- $this->setName('troubleshooting:generate-static-classes')
- ->setDescription('Generate static classes (Blocks, Pages, Repositories etc.).');
- }
- /**
- * Execute command.
- *
- * @param InputInterface $input
- * @param OutputInterface $output
- * @return void
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
- */
- protected function execute(InputInterface $input, OutputInterface $output)
- {
- $output = $this->objectManager->create(
- Output::class,
- ['output' => $output]
- );
- $output->writeln("Generating static classes...");
- exec('php ' . MTF_BP . DIRECTORY_SEPARATOR . 'utils' . DIRECTORY_SEPARATOR . 'generate.php', $error, $exitCode);
- if ($exitCode) {
- $output->outputMessages(['error' => $error]);
- }
- $output->writeln('Static classes generation is finished.');
- }
- }
|