getDefinition() ->addOption( new InputOption('--simulate', null, InputOption::VALUE_NONE, 'Run in simulated mode (show what would have happened).') ); $this->getDefinition() ->addOption( new InputOption('--progress-delay', null, InputOption::VALUE_REQUIRED, 'Number of seconds before progress bar is displayed in long-running task collections. Default: 2s.', Config::DEFAULT_PROGRESS_DELAY) ); $this->getDefinition() ->addOption( new InputOption('--define', '-D', InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'Define a configuration item value.', []) ); } /** * @param string $roboFile * @param string $roboClass */ public function addInitRoboFileCommand($roboFile, $roboClass) { $createRoboFile = new Command('init'); $createRoboFile->setDescription("Intitalizes basic RoboFile in current dir"); $createRoboFile->setCode(function () use ($roboClass, $roboFile) { $output = Robo::output(); $output->writeln(" ~~~ Welcome to Robo! ~~~~ "); $output->writeln(" ". basename($roboFile) ." will be created in the current directory "); file_put_contents( $roboFile, 'writeln(" Edit this file to add your commands! "); }); $this->add($createRoboFile); } /** * Add self update command, do nothing if null is provided * * @param string $repository GitHub Repository for self update */ public function addSelfUpdateCommand($repository = null) { if (!$repository || empty(\Phar::running())) { return; } $selfUpdateCommand = new SelfUpdateCommand($this->getName(), $this->getVersion(), $repository); $this->add($selfUpdateCommand); } }