function module_builder_drush_command in Module Builder 7
Same name and namespace in other branches
- 6.2 drush/module_builder.drush.inc \module_builder_drush_command()
Implementation of hook_drush_command().
In this hook, you specify which commands your drush module makes available, what it does and description.
Notice how this structure closely resembles how you define menu hooks.
@See drush_parse_command() for a list of recognized keys.
Return value
An associative array describing your command(s).
File
- drush/
module_builder.drush.inc, line 33 - Module builder drush commands.
Code
function module_builder_drush_command() {
$items = array();
// the key in the $items array is the name of the command.
$items['mb-build'] = array(
'callback' => 'module_builder_callback_build',
'description' => "Generate the code for a new Drupal module, including file headers and hook implementations.",
'arguments' => array(
'module name' => 'The machine name of the module.',
'hooks' => 'Short names of hooks, separated by spaces.',
),
'aliases' => array(
'mb',
),
'options' => array(
'--data' => "Location to read hook data. May be absolute, or relative to Drupal files dir. Defaults to 'files/hooks'.",
'--build' => "Which file type to generate: 'all', 'code', 'info', 'FILE'. " . "'all' generates everything: info and any code files needed by the requested hooks. " . "'code' generates code files as needed. " . "'info' makes just the info file. " . "'module', 'install' make just the foo.module or foo.install files. " . "'If custom modules define other files to output, you can request those too, omitting the module root name part and any .inc extension, eg 'module_builder' for 'foo.module_builder.inc. " . "Default is 'all' if writing new files, 'code' if appending to file or outputting only to terminal.",
'--write' => 'Write files to sites/all/modules. Will prompt to overwrite existing files; use --yes to force. Use --quiet to suppress output to the terminal.',
'--go' => 'Write all module files and enable the new module. Take two commands into the shower? Not me.',
'--add' => "Append hooks to module file. Implies '--write --build=code'. Warning: will not check hooks already exist.",
'--name' => 'Readable name of the module.',
'--desc' => 'Description (for the admin module list).',
'--help' => 'Module help text (for the system help).',
'--dep' => 'Dependencies, separated by spaces, eg "forum views".',
'--package' => 'Module package.',
'--parent' => "Name of a module folder to place this new module into; use if this module is to be added to an existing package. Use '.' for the current working directory.",
),
'examples' => array(
'drush mb my_module menu cron nodeapi' => 'Generate module code with hook_menu, hook_cron, hook_nodeapi.',
'drush mb my_module --build=info --name="My module" --dep="forum views"' => 'Generate module info with readable name and dependencies.',
'drush mb my_module menu cron --write --name="My module" --dep="forum views"' => 'Generate both module files, write files and also output to terminal.',
'drush mb my_module menu cron --write ' => 'Generate module code, write files and also output to terminal.',
'drush mb my_module menu cron --write --quiet --name="My module" --dep="forum views"' => 'Generate both module files, write files and output nothing to terminal.',
'drush mb my_module menu cron --add' => 'Generate code for hook_cron and add it to the existing my_module.module file.',
'drush mb my_module menu cron --write --parent=cck' => 'Generate both module files, write files to a folder my_module inside the cck folder.',
'drush mb my_module menu cron --write --parent=.' => 'Generate both module files, write files to a folder my_module in the current working directory.',
),
);
$items['mb-download'] = array(
'callback' => 'module_builder_callback_hook_download',
'description' => "Update module_builder hook data.",
'options' => array(
'--data' => "Location to save downloaded files. May be absolute, or relative to Drupal files dir. Defaults to 'files/hooks'.",
),
'aliases' => array(
'mbdl',
),
);
$items['mb-list'] = array(
'callback' => 'module_builder_callback_hook_list',
'description' => "List the hooks module_builder knows about.",
);
$items['mb-dochooks'] = array(
'callback' => 'module_builder_callback_doc_hooks',
'description' => "Adds comment headers to hooks that need them in the given module.",
);
$items['mb-docparams'] = array(
'callback' => 'module_builder_callback_doc_params',
'description' => "Adds params... WIP!",
);
$items['mb-debug'] = array(
'callback' => 'module_builder_callback_debug',
'description' => "Debug module builder. Does whatever was needed at the time.",
);
return $items;
}