Newer
Older
<?php
namespace LakeDrops\Docker4Drupal;
use Composer\Composer;
use Composer\EventDispatcher\EventSubscriberInterface;
use Composer\IO\IOInterface;
use Composer\Plugin\PluginInterface;
use Composer\Script\ScriptEvents;
/**
* Composer plugin for handling docker4drupal setup.
*/
class Plugin implements PluginInterface, EventSubscriberInterface {
/**
* The handler object to configure the project for docker.
*
* @var \LakeDrops\Docker4Drupal\Handler
*/
protected $handler;
/**
* {@inheritdoc}
*/
public function activate(Composer $composer, IOInterface $io) {
$this->handler = new Handler($composer, $io);
}
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents() {
return array(
ScriptEvents::POST_CREATE_PROJECT_CMD => 'configureProject',

jurgenhaas
committed
ScriptEvents::POST_INSTALL_CMD => 'configureProject',
ScriptEvents::POST_UPDATE_CMD => 'configureProject',
);
}
/**
* Configure project event callback.
*
* @param \Composer\Script\Event $event
$this->handler->configureProject($event);
}
/**
* Script callback for putting in composer scripts to configure the project.
*
* @param \Composer\Script\Event $event
$handler = new Handler($event->getComposer(), $event->getIO());
$handler->configureProject($event, TRUE);