Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/cakephp/bake/src/Utility/CommonOptionsTrait.php
<?php
/**
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 *
 * Licensed under The MIT License
 * For full copyright and license information, please see the LICENSE.txt
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 * @link          http://cakephp.org CakePHP(tm) Project
 * @since         1.4.3
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
 */
namespace Bake\Utility;

use
Cake\Core\Configure;
use
Cake\Core\Plugin;

trait
CommonOptionsTrait
{
   
/**
     * Set common options used by all bake tasks.
     *
     * @param \Cake\Console\ConsoleOptionParser $parser Options parser.
     * @return \Cake\Console\ConsoleOptionParser
     */
   
protected function _setCommonOptions($parser)
    {
       
$bakeThemes = [];
        foreach (
Plugin::loaded() as $plugin) {
           
$path = Plugin::classPath($plugin);
            if (
is_dir($path . 'Template' . DS . 'Bake')) {
               
$bakeThemes[] = $plugin;
            }
        }

       
$parser->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.',
           
'default' => Configure::read('Bake.theme'),
           
'choices' => $bakeThemes,
        ]);

        return
$parser;
    }
}