/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $message = $this->getHelperSet()->get('message'); $interactive = false; $learning = false; if ($input->hasOption('learning')) { $learning = $input->getOption('learning'); } $file = null; if ($input->hasOption('file')) { $file = $input->getOption('file'); } if (!$file) { $message->addErrorMessage($this->trans('commands.chain.messages.missing_file')); return 1; } if (strpos($file, '~') === 0) { $home = rtrim(getenv('HOME') ?: getenv('USERPROFILE'), '/'); $file = realpath(preg_replace('/~/', $home, $file, 1)); } if (!file_exists($file)) { $message->addErrorMessage(sprintf($this->trans('commands.chain.messages.invalid_file'), $file)); return 1; } $chainData = new Config($file); $commands = $chainData->get('commands'); foreach ($commands as $command) { $moduleInputs = []; $arguments = !empty($command['arguments']) ? $command['arguments'] : []; $options = !empty($command['options']) ? $command['options'] : []; foreach ($arguments as $key => $value) { $moduleInputs[$key] = is_null($value) ? '' : $value; } foreach ($options as $key => $value) { $moduleInputs['--' . $key] = is_null($value) ? '' : $value; } $this->getHelper('chain')->addCommand($command['command'], $moduleInputs, $interactive, $learning); } }
use Drupal\Console\EventSubscriber\ShowGenerateDocListener; use Drupal\Console\Helper\DrupalHelper; use Drupal\Console\Helper\CommandDiscoveryHelper; use Drupal\Console\Helper\RemoteHelper; use Drupal\Console\Helper\HttpClientHelper; set_time_limit(0); $consoleRoot = __DIR__ . '/../'; if (file_exists($consoleRoot . '/vendor/autoload.php')) { include_once $consoleRoot . '/vendor/autoload.php'; } elseif (file_exists($consoleRoot . '/../../autoload.php')) { include_once $consoleRoot . '/../../autoload.php'; } else { echo 'Something goes wrong with your archive' . PHP_EOL . 'Try downloading again' . PHP_EOL; exit(1); } $config = new Config(); $translatorHelper = new TranslatorHelper(); $translatorHelper->loadResource($config->get('application.language'), $consoleRoot); $application = new Application($config, $translatorHelper); $application->setDirectoryRoot($consoleRoot); $helpers = ['nested-array' => new NestedArrayHelper(), 'kernel' => new KernelHelper(), 'string' => new StringHelper(), 'validator' => new ValidatorHelper(), 'translator' => $translatorHelper, 'site' => new SiteHelper(), 'renderer' => new TwigRendererHelper(), 'message' => new MessageHelper(), 'chain' => new ChainCommandHelper(), 'drupal' => new DrupalHelper(), 'commandDiscovery' => new CommandDiscoveryHelper($config->get('application.develop')), 'remote' => new RemoteHelper(), 'httpClient' => new HttpClientHelper()]; $application->addHelpers($helpers); $dispatcher = new EventDispatcher(); $dispatcher->addSubscriber(new ValidateDependenciesListener()); $dispatcher->addSubscriber(new ShowWelcomeMessageListener()); $dispatcher->addSubscriber(new ShowGenerateDocListener()); $dispatcher->addSubscriber(new DefaultValueEventListener()); $dispatcher->addSubscriber(new ShowGeneratedFilesListener()); $dispatcher->addSubscriber(new CallCommandListener()); $dispatcher->addSubscriber(new ShowGenerateChainListener()); $dispatcher->addSubscriber(new ShowGenerateInlineListener());
use Drupal\Console\Helper\TwigRendererHelper; use Drupal\Console\EventSubscriber\ShowGenerateDocListener; use Drupal\Console\Helper\DrupalHelper; use Drupal\Console\Helper\CommandDiscoveryHelper; use Drupal\Console\Helper\RemoteHelper; set_time_limit(0); $consoleRoot = __DIR__ . '/../'; if (file_exists($consoleRoot . '/vendor/autoload.php')) { include_once $consoleRoot . '/vendor/autoload.php'; } elseif (file_exists($consoleRoot . '/../../autoload.php')) { include_once $consoleRoot . '/../../autoload.php'; } else { echo 'Something goes wrong with your archive' . PHP_EOL . 'Try downloading again' . PHP_EOL; exit(1); } $config = new Config(); $translatorHelper = new TranslatorHelper(); $translatorHelper->loadResource($config->get('application.language'), $consoleRoot); $application = new Application($config, $translatorHelper); $application->setDirectoryRoot($consoleRoot); $helpers = ['nested-array' => new NestedArrayHelper(), 'kernel' => new KernelHelper(), 'shell' => new ShellHelper(new Shell($application)), 'dialog' => new DialogHelper(), 'string' => new StringHelper(), 'validator' => new ValidatorHelper(), 'translator' => $translatorHelper, 'site' => new SiteHelper(), 'renderer' => new TwigRendererHelper(), 'message' => new MessageHelper(), 'chain' => new ChainCommandHelper(), 'drupal' => new DrupalHelper(), 'commandDiscovery' => new CommandDiscoveryHelper(), 'remote' => new RemoteHelper()]; $application->addHelpers($helpers); $dispatcher = new EventDispatcher(); $dispatcher->addSubscriber(new ValidateDependenciesListener()); $dispatcher->addSubscriber(new ShowWelcomeMessageListener()); $dispatcher->addSubscriber(new ShowGenerateDocListener()); $dispatcher->addSubscriber(new DefaultValueEventListener()); $dispatcher->addSubscriber(new ShowGeneratedFilesListener()); $dispatcher->addSubscriber(new CallCommandListener()); $dispatcher->addSubscriber(new ShowGenerateChainListener()); $dispatcher->addSubscriber(new ShowGenerateInlineListener());
/** * @param $command * @return array */ private function getCommandAliases($command) { $aliasKey = sprintf('application.aliases.commands.%s', str_replace(':', '.', $command->getName())); return $this->config->get($aliasKey); }
public static function createFileCache($reader, Config $config) { return new FileCacheReader($reader, $config->getUserHomeDir() . '/.console/cache/annotations', false); }