Security update for Core, with self-updated composer
[yaffs-website] / vendor / drupal / console-core / src / Bootstrap / DrupalConsoleCore.php
index 16ad4f1d5c8ee635d8937424a7a9b3f422d55f2b..6bd718677d8f35490d1dc28eed275f3ec2dbd7a0 100644 (file)
@@ -7,6 +7,7 @@
 
 namespace Drupal\Console\Core\Bootstrap;
 
+use Drupal\Console\Core\Utils\DrupalFinder;
 use Symfony\Component\DependencyInjection\ContainerBuilder;
 use Symfony\Component\Config\FileLocator;
 use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
@@ -28,16 +29,26 @@ class DrupalConsoleCore
      */
     protected $appRoot;
 
+    /**
+     * @var DrupalFinder
+     */
+    protected $drupalFinder;
+
     /**
      * DrupalConsole constructor.
      *
-     * @param $root
-     * @param $appRoot
+     * @param string       $root
+     * @param string       $appRoot
+     * @param DrupalFinder $drupalFinder
      */
-    public function __construct($root, $appRoot = null)
-    {
+    public function __construct(
+        $root,
+        $appRoot = null,
+        DrupalFinder $drupalFinder
+    ) {
         $this->root = $root;
         $this->appRoot = $appRoot;
+        $this->drupalFinder = $drupalFinder;
     }
 
     /**
@@ -48,11 +59,15 @@ class DrupalConsoleCore
         $container = new ContainerBuilder();
         $loader = new YamlFileLoader($container, new FileLocator($this->root));
 
+        if (substr($this->root, -1) === DIRECTORY_SEPARATOR) {
+            $this->root = substr($this->root, 0, -1);
+        }
+
         $servicesFiles = [
-            $this->root.DRUPAL_CONSOLE_CORE.'/services.yml',
+            $this->root.DRUPAL_CONSOLE_CORE.'services.yml',
             $this->root.'/services.yml',
-            $this->root.DRUPAL_CONSOLE.'/uninstall.services.yml',
-            $this->root.DRUPAL_CONSOLE.'/extend.console.uninstall.services.yml'
+            $this->root.DRUPAL_CONSOLE.'uninstall.services.yml',
+            $this->root.DRUPAL_CONSOLE.'extend.console.uninstall.services.yml'
         ];
 
         foreach ($servicesFiles as $servicesFile) {
@@ -82,6 +97,11 @@ class DrupalConsoleCore
             $consoleRoot
         );
 
+        $container->set(
+            'console.drupal_finder',
+            $this->drupalFinder
+        );
+
         $configurationManager = $container->get('console.configuration_manager');
         $directory = $configurationManager->getConsoleDirectory() . 'extend/';
         $autoloadFile = $directory . 'vendor/autoload.php';