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 Drupal\Console\Core\Command\Command;
14 use Drupal\Console\Generator\ModuleFileGenerator;
15 use Drupal\Console\Command\Shared\ConfirmationTrait;
16 use Drupal\Console\Command\Shared\ModuleTrait;
17 use Drupal\Console\Extension\Manager;
18 use Drupal\Console\Utils\Validator;
21 * Class ModuleFileCommand
23 * @package Drupal\Console\Command\Generate
25 class ModuleFileCommand extends Command
27 use ConfirmationTrait;
33 protected $extensionManager;
36 * @var ModuleFileGenerator
47 * ModuleFileCommand constructor.
49 * @param Manager $extensionManager
50 * @param ModuleFileGenerator $generator
52 public function __construct(
53 Manager $extensionManager,
54 ModuleFileGenerator $generator,
57 $this->extensionManager = $extensionManager;
58 $this->generator = $generator;
59 $this->validator = $validator;
60 parent::__construct();
66 protected function configure()
69 ->setName('generate:module:file')
70 ->setDescription($this->trans('commands.generate.module.file.description'))
71 ->setHelp($this->trans('commands.generate.module.file.help'))
75 InputOption::VALUE_REQUIRED,
76 $this->trans('commands.common.options.module')
77 )->setAliases(['gmf']);
83 protected function execute(InputInterface $input, OutputInterface $output)
85 // @see use Drupal\Console\Command\Shared\ConfirmationTrait::confirmOperation
86 if (!$this->confirmOperation()) {
90 $machine_name = $input->getOption('module');
91 $file_path = $this->extensionManager->getModule($machine_name)->getPath();
93 $this->generator->generate([
94 'machine_name' => $machine_name,
95 'file_path' => $file_path,
103 protected function interact(InputInterface $input, OutputInterface $output)
106 $this->getModuleOption();