From a61eee36d29c6e3a09ca53cd6314ce09db2a5d27 Mon Sep 17 00:00:00 2001
From: Alex Pott <alex.a.pott@googlemail.com>
Date: Sat, 11 May 2024 09:21:21 +0100
Subject: [PATCH] Issue #3266160 by smustgrave, alex.skrypnyk, tannguyenhn,
 beatrizrodrigues, joachim, larowlan: Composer Scaffold plugin calls
 dispatch() instead of dispatchScript()

---
 composer/Plugin/Scaffold/Handler.php                        | 4 ++--
 .../src/ComposerPluginImplementsScaffoldEvents.php          | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/composer/Plugin/Scaffold/Handler.php b/composer/Plugin/Scaffold/Handler.php
index a3e9914bb394..8ee27990cec9 100644
--- a/composer/Plugin/Scaffold/Handler.php
+++ b/composer/Plugin/Scaffold/Handler.php
@@ -143,7 +143,7 @@ public function scaffold() {
 
     // Call any pre-scaffold scripts that may be defined.
     $dispatcher = $this->composer->getEventDispatcher();
-    $dispatcher->dispatch(self::PRE_DRUPAL_SCAFFOLD_CMD);
+    $dispatcher->dispatchScript(self::PRE_DRUPAL_SCAFFOLD_CMD);
 
     // Fetch the list of file mappings from each allowed package and normalize
     // them.
@@ -178,7 +178,7 @@ public function scaffold() {
     $gitIgnoreManager->manageIgnored($scaffold_results, $scaffold_options);
 
     // Call post-scaffold scripts.
-    $dispatcher->dispatch(self::POST_DRUPAL_SCAFFOLD_CMD);
+    $dispatcher->dispatchScript(self::POST_DRUPAL_SCAFFOLD_CMD);
   }
 
   /**
diff --git a/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/composer-plugin-implements-scaffold-events/src/ComposerPluginImplementsScaffoldEvents.php b/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/composer-plugin-implements-scaffold-events/src/ComposerPluginImplementsScaffoldEvents.php
index 309b2d0dca6a..ea864ba44951 100644
--- a/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/composer-plugin-implements-scaffold-events/src/ComposerPluginImplementsScaffoldEvents.php
+++ b/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/composer-plugin-implements-scaffold-events/src/ComposerPluginImplementsScaffoldEvents.php
@@ -4,11 +4,11 @@
 
 namespace Drupal\Tests\fixture\Composer\Plugin;
 
-use Composer\EventDispatcher\Event;
 use Composer\EventDispatcher\EventSubscriberInterface;
 use Composer\Plugin\PluginInterface;
 use Composer\Composer;
 use Composer\IO\IOInterface;
+use Composer\Script\Event;
 use Drupal\Composer\Plugin\Scaffold\Handler;
 
 /**
@@ -30,14 +30,14 @@ public static function getSubscribedEvents(): array {
    * Implements pre Drupal scaffold cmd.
    */
   public static function preDrupalScaffoldCmd(Event $event): void {
-    print 'Hello preDrupalScaffoldCmd' . PHP_EOL;
+    $event->getIO()->write('Hello preDrupalScaffoldCmd');
   }
 
   /**
    * Implements post Drupal scaffold cmd.
    */
   public static function postDrupalScaffoldCmd(Event $event): void {
-    print 'Hello postDrupalScaffoldCmd' . PHP_EOL;
+    $event->getIO()->write('Hello postDrupalScaffoldCmd');
   }
 
   /**
-- 
GitLab