boedah / robo-drush
Drush CommandStack for Robo Task Runner
Installs: 337 890
Dependents: 7
Suggesters: 0
Security: 0
Stars: 22
Watchers: 7
Forks: 18
Open Issues: 5
Type:robo-tasks
Requires
- php: >=5.5.0
- consolidation/robo: ~1
Requires (Dev)
- drush/drush: ^8.0 | ^9.0
- phpunit/phpunit: ~4.4
Suggests
- drush/drush: robo-drush needs a global or local Drush to use.
README
Extension to execute Drush commands in Robo.
Runs Drush commands in stack. You can define global options for all commands (like Drupal root and uri).
The option -y assumed by default but can be overridden on calls to exec()
by passing false
as the second parameter.
Table of contents
Installation
For new projects (and Robo >= 1.0.0-RC1), just do:
composer require --dev boedah/robo-drush
For older versions of Robo, use:
~1.0
: Robo <= 0.4.5~2.1
: Robo >= 0.5.2
Testing
composer test
Usage
Use the trait (according to your used version) in your RoboFile:
class RoboFile extends \Robo\Tasks { // if you use robo-drush ~2.1 for Robo >=0.5.2, or robo-drush >3 for Robo >=1.0.0-RC1 use \Boedah\Robo\Task\Drush\loadTasks; // if you use ~1.0 for Robo ~0.4 use \Boedah\Robo\Task\Drush; //... }
Examples
Site update
This executes pending database updates and reverts all features (from code to database):
$this->taskDrushStack() ->drupalRootDirectory('/var/www/html/some-site') ->uri('sub.example.com') ->maintenanceOn() ->updateDb() ->revertAllFeatures() ->maintenanceOff() ->run();
Site install
$this->taskDrushStack() ->siteName('Site Name') ->siteMail('site-mail@example.com') ->locale('de') ->accountMail('mail@example.com') ->accountName('admin') ->accountPass('pw') ->dbPrefix('drupal_') ->sqliteDbUrl('sites/default/.ht.sqlite') ->disableUpdateStatusModule() ->siteInstall('minimal') ->run();