5 * Contains \Drupal\Console\Command\Generate\ModuleFileCommand.
8 namespace Drupal\Console\Command\Generate;
10 use Symfony\Component\Console\Input\InputInterface;
11 use Symfony\Component\Console\Input\InputOption;
12 use Symfony\Component\Console\Output\OutputInterface;
13 use Symfony\Component\Console\Command\Command;
14 use Drupal\Console\Core\Command\Shared\CommandTrait;
15 use Drupal\Console\Generator\ModuleFileGenerator;
16 use Drupal\Console\Command\Shared\ConfirmationTrait;
17 use Drupal\Console\Command\Shared\ModuleTrait;
18 use Drupal\Console\Extension\Manager;
19 use Drupal\Console\Core\Style\DrupalStyle;
22 * Class ModuleFileCommand
24 * @package Drupal\Console\Command\Generate
26 class ModuleFileCommand extends Command
29 use ConfirmationTrait;
35 protected $extensionManager;
38 * @var ModuleFileGenerator
44 * ModuleFileCommand constructor.
46 * @param Manager $extensionManager
47 * @param ModuleFileGenerator $generator
49 public function __construct(
50 Manager $extensionManager,
51 ModuleFileGenerator $generator
53 $this->extensionManager = $extensionManager;
54 $this->generator = $generator;
55 parent::__construct();
61 protected function configure()
64 ->setName('generate:module:file')
65 ->setDescription($this->trans('commands.generate.module.file.description'))
66 ->setHelp($this->trans('commands.generate.module.file.help'))
67 ->addOption('module', null, InputOption::VALUE_REQUIRED, $this->trans('commands.common.options.module'));
73 protected function execute(InputInterface $input, OutputInterface $output)
75 $io = new DrupalStyle($input, $output);
77 // @see use Drupal\Console\Command\Shared\ConfirmationTrait::confirmGeneration
78 if (!$this->confirmGeneration($io, $yes)) {
82 $machine_name = $input->getOption('module');
83 $file_path = $this->extensionManager->getModule($machine_name)->getPath();
84 $generator = $this->generator;
96 protected function interact(InputInterface $input, OutputInterface $output)
98 $io = new DrupalStyle($input, $output);
101 $module = $input->getOption('module');
104 // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion
105 $module = $this->moduleQuestion($io);
108 $input->setOption('module', $module);