Example #1
0
 /**
  * Display help for this console.
  *
  * @return ConsoleOptionParser
  */
 public function getOptionParser()
 {
     $parser = new ConsoleOptionParser('console');
     $parser->description('This shell provides a REPL that you can use to interact ' . 'with your application in an interactive fashion. You can use ' . 'it to run adhoc queries with your models, or experiment ' . 'and explore the features of CakePHP and your application.' . "\n\n" . 'You will need to have psysh installed for this Shell to work.');
     $parser->epilog('Thank you for baking with CakePHP!');
     return $parser;
 }
 /**
  * test setting the console description
  *
  * @return void
  */
 public function testDescription()
 {
     $parser = new ConsoleOptionParser('test', false);
     $result = $parser->description('A test');
     $this->assertEquals($parser, $result, 'Setting description is not chainable');
     $this->assertEquals('A test', $parser->description(), 'getting value is wrong.');
     $result = $parser->description(['A test', 'something']);
     $this->assertEquals("A test\nsomething", $parser->description(), 'getting value is wrong.');
 }
Example #3
0
 /**
  * Display help for this console.
  *
  * @return ConsoleOptionParser
  */
 public function getOptionParser()
 {
     $file = Runner::ROBOFILE;
     if (Configure::check('Path.robofile')) {
         $file = Configure::read('Path.robofile');
     }
     $parser = new ConsoleOptionParser('robot', false);
     $parser->description('This shell provides a Robo runner.' . "\n\n" . 'You will need to have robo installed for this Shell to work. ')->addOption('config', ['help' => __d('cake_console', 'Path to your RoboFile class'), 'default' => $file]);
     return $parser;
 }
 /**
  * Display help for this console.
  *
  * @return ConsoleOptionParser
  */
 public function getOptionParser()
 {
     $parser = new ConsoleOptionParser('console');
     $parser->description("This shell clean the cache of your application.")->command("cache.clear")->addOption('all', ['short' => 'a', 'help' => 'Clear all caches', 'boolean' => true])->addSubcommand('all', ['help' => 'Clear all caches']);
     foreach ($this->tasks as $task => $option) {
         $classname = $this->taskClassname($task);
         $parser->addSubcommand($this->taskName($task), ['help' => $this->{$classname}->help(), 'parser' => $this->{$classname}->getOptionParser()]);
     }
     return $parser;
 }
Example #5
0
 /**
  * Build a parser from an array. Uses an array like
  *
  * ```
  * $spec = [
  *      'description' => 'text',
  *      'epilog' => 'text',
  *      'arguments' => [
  *          // list of arguments compatible with addArguments.
  *      ],
  *      'options' => [
  *          // list of options compatible with addOptions
  *      ],
  *      'subcommands' => [
  *          // list of subcommands to add.
  *      ]
  * ];
  * ```
  *
  * @param array $spec The spec to build the OptionParser with.
  * @param bool $defaultOptions Whether you want the verbose and quiet options set.
  * @return $this
  */
 public static function buildFromArray($spec, $defaultOptions = true)
 {
     $parser = new ConsoleOptionParser($spec['command'], $defaultOptions);
     if (!empty($spec['arguments'])) {
         $parser->addArguments($spec['arguments']);
     }
     if (!empty($spec['options'])) {
         $parser->addOptions($spec['options']);
     }
     if (!empty($spec['subcommands'])) {
         $parser->addSubcommands($spec['subcommands']);
     }
     if (!empty($spec['description'])) {
         $parser->description($spec['description']);
     }
     if (!empty($spec['epilog'])) {
         $parser->epilog($spec['epilog']);
     }
     return $parser;
 }
    /**
     * test description and epilog in the help
     *
     * @return void
     */
    public function testXmlHelpDescriptionAndEpilog()
    {
        $parser = new ConsoleOptionParser('mycommand', false);
        $parser->description('Description text')->epilog('epilog text')->addOption('test', ['help' => 'A test option.'])->addArgument('model', ['help' => 'The model to make.', 'required' => true]);
        $formatter = new HelpFormatter($parser);
        $result = $formatter->xml();
        $expected = <<<xml
<?xml version="1.0"?>
<shell>
<name>mycommand</name>
<description>Description text</description>
<subcommands />
<options>
\t<option name="--help" short="-h" help="Display this help." boolean="1">
\t\t<default></default>
\t\t<choices></choices>
\t</option>
\t<option name="--test" short="" help="A test option." boolean="0">
\t\t<default></default>
\t\t<choices></choices>
\t</option>
</options>
<arguments>
\t<argument name="model" help="The model to make." required="1">
\t\t<choices></choices>
\t</argument>
</arguments>
<epilog>epilog text</epilog>
</shell>
xml;
        $this->assertXmlStringNotEqualsXmlString($expected, $result, 'Help does not match');
    }
Example #7
0
 /**
  * Display help for this console.
  *
  * @return ConsoleOptionParser
  */
 public function getOptionParser()
 {
     $parser = new ConsoleOptionParser('deployer', false);
     $parser->description('This shell is used when deploying the application.')->addSubcommand('clear_cache', ['help' => 'Clear the cache files.', 'parser' => $this->ClearCache->getOptionParser()]);
     return $parser;
 }
 /**
  * Set shell description and command line options
  *
  * @return ConsoleOptionParser
  */
 public function getOptionParser()
 {
     $parser = new ConsoleOptionParser('console');
     $parser->description('Validate CSV and configuration files of all CSV modules');
     return $parser;
 }
Example #9
0
 /**
  * Gets the option parser instance and configures it.
  *
  * @return \Cake\Console\ConsoleOptionParser
  */
 public function getOptionParser()
 {
     $name = ($this->plugin ? $this->plugin . '.' : '') . $this->name;
     $parser = new ConsoleOptionParser($name);
     $bakeThemes = [];
     foreach (Plugin::loaded() as $plugin) {
         $path = Plugin::classPath($plugin);
         if (is_dir($path . 'Template' . DS . 'Bake')) {
             $bakeThemes[] = $plugin;
         }
     }
     $parser->description('Bake migration class.')->addOption('plugin', ['short' => 'p', 'help' => 'Plugin to bake into.'])->addOption('force', ['short' => 'f', 'boolean' => true, 'help' => 'Force overwriting existing files without prompting.'])->addOption('connection', ['short' => 'c', 'default' => 'default', 'help' => 'The datasource connection to get data from.'])->addOption('theme', ['short' => 't', 'help' => 'The theme to use when baking code.', 'choices' => $bakeThemes]);
     return $parser;
 }
Example #10
0
 /**
  * Display help for this console.
  *
  * @return ConsoleOptionParser
  */
 public function getOptionParser()
 {
     $parser = new ConsoleOptionParser('console', false);
     $parser->description('This shell provides a REPL that you can use to interact' . 'with your application in an interactive fashion. You can use' . 'it to run adhoc queries with your models, or experiment' . 'and explore the features of CakePHP and your application.' . "\n\n" . 'You will need to have boris installed for this Shell to work. ' . 'Boris is known to not work well on windows due to dependencies on ' . 'readline and posix.');
     return $parser;
 }
 public function getOptionParser()
 {
     $parser = new ConsoleOptionParser('console');
     $parser->description("Clear Cake\\Cache\\Cache")->command("cake");
     return $parser;
 }
Example #12
0
 /**
  * Display help for this console.
  *
  * @return ConsoleOptionParser
  */
 public function getOptionParser()
 {
     $parser = new ConsoleOptionParser('clear_cache', false);
     $parser->description('This tasks is used to clear the cached files in the application.');
     return $parser;
 }
 public function getOptionParser()
 {
     $parser = new ConsoleOptionParser('console');
     $parser->description("Resets the entire opcode cache")->command("opcache");
     return $parser;
 }
Example #14
0
 public function getOptionParser()
 {
     $parser = new ConsoleOptionParser('console');
     $parser->description("Clear ORM Cache.")->command("model");
     return $parser;
 }
Example #15
0
 /**
  * Display help for this console.
  *
  * @return ConsoleOptionParser
  */
 public function getOptionParser()
 {
     $parser = new ConsoleOptionParser('console');
     $parser->description('Clear directories in "tmp/cache/"')->command("dir")->addOption('all', ['short' => 'a', 'help' => 'Clear all directories', 'boolean' => true]);
     return $parser;
 }
Example #16
0
 /**
  * Gets the option parser instance and configures it.
  *
  * @return \Cake\Console\ConsoleOptionParser
  */
 public function getOptionParser()
 {
     $name = ($this->plugin ? $this->plugin . '.' : '') . $this->name;
     $parser = new ConsoleOptionParser($name);
     $bakeThemes = [];
     foreach (Plugin::loaded() as $plugin) {
         $path = Plugin::classPath($plugin);
         if (is_dir($path . 'Template' . DS . 'Bake')) {
             $bakeThemes[] = $plugin;
         }
     }
     $parser->description('Bake seed class.')->addOption('plugin', ['short' => 'p', 'help' => 'Plugin to bake into.'])->addOption('force', ['short' => 'f', 'boolean' => true, 'help' => 'Force overwriting existing files without prompting.'])->addOption('connection', ['short' => 'c', 'default' => 'default', 'help' => 'The datasource connection to get data from.'])->addOption('table', ['help' => 'The database table to use.'])->addOption('theme', ['short' => 't', 'help' => 'The theme to use when baking code.', 'choices' => $bakeThemes])->addArgument('name', ['help' => 'Name of the seed to bake. Can use Plugin.name to bake plugin models.'])->addOption('data', ['boolean' => true, 'help' => 'Include data from the table to the seed'])->addOption('fields', ['default' => '*', 'help' => 'If including data, comma separated list of fields to select (all fields by default)'])->addOption('limit', ['short' => 'l', 'help' => 'If including data, max number of rows to select']);
     return $parser;
 }