extensionManager = $extensionManager; $this->generator = $generator; parent::__construct(); } /** * {@inheritdoc} */ protected function configure() { $this ->setName('generate:module:file') ->setDescription($this->trans('commands.generate.module.file.description')) ->setHelp($this->trans('commands.generate.module.file.help')) ->addOption('module', null, InputOption::VALUE_REQUIRED, $this->trans('commands.common.options.module')); } /** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); // @see use Drupal\Console\Command\Shared\ConfirmationTrait::confirmGeneration if (!$this->confirmGeneration($io, $yes)) { return 1; } $machine_name = $input->getOption('module'); $file_path = $this->extensionManager->getModule($machine_name)->getPath(); $generator = $this->generator; $generator->generate( $machine_name, $file_path ); } /** * {@inheritdoc} */ protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); // --module option $module = $input->getOption('module'); if (!$module) { // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion $module = $this->moduleQuestion($io); } $input->setOption('module', $module); } }