From 5d030e9e1fddb21468c74e44079f0874ba83e7d3 Mon Sep 17 00:00:00 2001 From: jurgenhaas <juergen@paragon-es.de> Date: Sat, 29 Sep 2018 11:06:13 +0200 Subject: [PATCH] Explicitly download scaffold for Drupal core through drupal-composer/drupal-scaffold --- composer.json | 1 + src/Plugin.php | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/composer.json b/composer.json index 10410f5..bcf0917 100644 --- a/composer.json +++ b/composer.json @@ -32,6 +32,7 @@ "composer-plugin-api": "^1.0.0", "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3", "drupal-code-builder/drupal-code-builder-drush": "^9.0", + "drupal-composer/drupal-scaffold": "^2.3", "drupal/coder": "^8.2", "lakedrops/behat4drupal": "^1.0.0", "lakedrops/composer-scripts": "^1.0.0", diff --git a/src/Plugin.php b/src/Plugin.php index f27a91c..5d9b076 100644 --- a/src/Plugin.php +++ b/src/Plugin.php @@ -8,6 +8,7 @@ use Composer\IO\IOInterface; use Composer\Plugin\PluginInterface; use Composer\Script\Event; use Composer\Script\ScriptEvents; +use DrupalComposer\DrupalScaffold\Handler as DrupalScaffoldHandler; /** * Composer plugin for handling drupal scaffold. @@ -21,11 +22,19 @@ class Plugin implements PluginInterface, EventSubscriberInterface { */ protected $handler; + /** + * The scaffold handler object for events. + * + * @var \DrupalComposer\DrupalScaffold\Handler + */ + protected $scaffoldHandler; + /** * {@inheritdoc} */ public function activate(Composer $composer, IOInterface $io) { $this->handler = new Handler($composer, $io); + $this->scaffoldHandler = new DrupalScaffoldHandler($composer, $io); } /** @@ -34,6 +43,7 @@ class Plugin implements PluginInterface, EventSubscriberInterface { public static function getSubscribedEvents() { return array( ScriptEvents::POST_CREATE_PROJECT_CMD => 'postCreateProject', + ScriptEvents::POST_UPDATE_CMD => 'postUpdate', ); } @@ -44,9 +54,20 @@ class Plugin implements PluginInterface, EventSubscriberInterface { * The event that triggered the plugin. */ public function postCreateProject(Event $event) { + $this->scaffoldHandler->downloadScaffold(); $this->handler->setupLakeDropsProject($event); } + /** + * Post update event callback. + * + * @param \Composer\Script\Event $event + * The event that triggered the plugin. + */ + public function postUpdate(Event $event) { + $this->scaffoldHandler->downloadScaffold(); + } + /** * Callback to setup the project. * -- GitLab