5 * Contains \Drupal\Console\Command\Module\PathCommand.
8 namespace Drupal\Console\Command\Module;
10 use Symfony\Component\Console\Input\InputArgument;
11 use Symfony\Component\Console\Input\InputOption;
12 use Symfony\Component\Console\Input\InputInterface;
13 use Symfony\Component\Console\Output\OutputInterface;
14 use Symfony\Component\Console\Command\Command;
15 use Drupal\Console\Core\Command\Shared\CommandTrait;
16 use Drupal\Console\Command\Shared\ModuleTrait;
17 use Drupal\Console\Core\Style\DrupalStyle;
18 use Drupal\Console\Extension\Manager;
20 class PathCommand extends Command
28 protected $extensionManager;
31 * PathCommand constructor.
33 * @param Manager $extensionManager
35 public function __construct(Manager $extensionManager)
37 $this->extensionManager = $extensionManager;
38 parent::__construct();
41 protected function configure()
44 ->setName('module:path')
45 ->setDescription($this->trans('commands.module.path.description'))
48 InputArgument::REQUIRED,
49 $this->trans('commands.module.path.arguments.module')
54 InputOption::VALUE_NONE,
55 $this->trans('commands.module.path.options.absolute')
59 protected function execute(InputInterface $input, OutputInterface $output)
61 $io = new DrupalStyle($input, $output);
63 $module = $input->getArgument('module');
65 $fullPath = $input->getOption('absolute');
67 $module = $this->extensionManager->getModule($module);
70 $module->getPath($fullPath)
77 protected function interact(InputInterface $input, OutputInterface $output)
79 $io = new DrupalStyle($input, $output);
82 $module = $input->getArgument('module');
84 // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion
85 $module = $this->moduleQuestion($io);
86 $input->setArgument('module', $module);