function drush_deploy_create_plan in Deploy - Content Staging 7.3
Same name and namespace in other branches
- 7.2 deploy.drush.inc \drush_deploy_create_plan()
Command callback for creating plans.
File
- ./
deploy.drush.inc, line 138 - Provides Drush integration for Deploy.
Code
function drush_deploy_create_plan($name) {
$endpoints = deploy_endpoint_load_all();
if (!count($endpoints)) {
return drush_set_error(dt("No endpoints configured"));
}
$endpoint = drush_get_option('endpoint');
if (!$endpoint || !isset($endpoints[$endpoint])) {
return drush_set_error(dt('Invalid endpoint: @endpoint.', array(
'@endpoint' => $endpoint,
)));
}
unset($endpoints);
$aggregator = drush_get_option('aggregator', 'DeployAggregatorManaged');
$aggregators = deploy_get_aggregator_plugins();
if (!isset($aggregators[$aggregator])) {
return drush_set_error(dt('Invalid aggregator: @aggregator.', array(
'@aggregator' => $aggregator,
)));
}
unset($aggregators);
$delete = (bool) drush_get_option('delete', 0);
$debug = (bool) drush_get_option('debug-plan', 1);
$plan = deploy_plan_load($name);
if (FALSE !== $plan) {
if (!(bool) drush_get_option('overwrite', 0)) {
return drush_set_error(dt('Plan @name already exists. Use --overwrite=1 to overwite the configuration for the plan.', array(
'@name' => $name,
)));
}
$plan->debug = $debug;
$plan->endpoints = array(
$endpoint => $endpoint,
);
if ('DeployAggregatorManaged' == $aggregator) {
$plan->aggregator_config = array(
'delete_post_deploy' => $delete,
);
}
$plan = deploy_plan_save($plan);
drush_print(dt('Updated plan @name(@pid).', array(
'@name' => $name,
'@pid' => $plan->pid,
)));
drush_print_pipe($plan->pid);
return TRUE;
}
$plan = (object) array(
'pid' => NULL,
'name' => $name,
'title' => dt('@name plan', array(
'@name' => $name,
)),
'description' => dt('@name plan', array(
'@name' => $name,
)),
'debug' => $debug,
'aggregator_plugin' => $aggregator,
'aggregator_config' => array(
'delete_post_deploy' => $delete,
),
'processor_plugin' => 'DeployProcessorMemory',
'endpoints' => array(
$endpoint => $endpoint,
),
'fetch_only' => 0,
'table' => 'deploy_plans',
'type' => 'Normal',
);
$plan = deploy_plan_save($plan);
drush_print(dt('Created new plan @pid.', array(
'@pid' => $plan->pid,
)));
drush_print_pipe($plan->pid);
}