boedah/robo-drush

Drush CommandStack for Robo Task Runner

3.1.1 2017-08-21 10:12 UTC

README

Extension to execute Drush commands in Robo.

SensioLabsInsight Build Status Latest Stable Version Total Downloads Latest Unstable Version License

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

Versions

  • ~1.0: Robo <= 0.4.5
  • ~2.1: Robo >= 0.5.2
  • ~3.0: Robo >= 1.0.0-RC1

Add "boedah/robo-drush": "~3" to your composer.json:

    {
        "require-dev": {
            "boedah/robo-drush": "~3"
        }
    }

Execute composer update.

Testing

composer test

Usage

Use the trait (according to your used version) in your RoboFile:

class RoboFile extends \Robo\Tasks
{
    // if you use ~2.1 for Robo >=0.5.2, or ~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();