Newer
Older
use Composer\Plugin\Capability\CommandProvider as ComposerCommandProvider;
use LakeDrops\Component\Composer\BasePlugin;
/**
* Composer plugin for handling docker4drupal setup.
*/
class Plugin extends BasePlugin {
public function getHandlerClass(): string {
return Handler::class;
public function getCapabilities(): array {
return [
ComposerCommandProvider::class => CommandProvider::class,
public static function getSubscribedEvents(): array {
return [
ScriptEvents::POST_CREATE_PROJECT_CMD => 'configureProject',
ScriptEvents::POST_INSTALL_CMD => 'configureProject',

jurgenhaas
committed
ScriptEvents::POST_UPDATE_CMD => 'updateProject',
public function configureProject(Event $event): void {
/** @var Handler $handler */
$handler = $this->handler;
$handler
->setEvent($event)
->configureProject();

jurgenhaas
committed
/**
* Update project event callback.
*
* @param \Composer\Script\Event $event
* The event that triggered the call of this function.
*/
public function updateProject(Event $event): void {
/** @var Handler $handler */
$handler = $this->handler;
$handler
->setEvent($event)
->updateProject();
}