From ed5986f5155ac46a81f65791cde6bb35b4554db7 Mon Sep 17 00:00:00 2001
From: xjm <xjm@65776.no-reply.drupal.org>
Date: Fri, 22 Nov 2019 12:02:51 -0600
Subject: [PATCH] Issue #3090906 by alexpott, greg.1.anderson, ravi.shankar,
 xjm, Mixologic, Mile23: self.version in metapackages considered harmful

---
 composer/Generator/Builder/DrupalCoreRecommendedBuilder.php  | 4 +++-
 .../Generator/Builder/DrupalPinnedDevDependenciesBuilder.php | 4 +++-
 composer/Metapackage/CoreRecommended/composer.json           | 2 +-
 composer/Metapackage/PinnedDevDependencies/composer.json     | 2 +-
 core/tests/Drupal/Tests/Composer/Generator/BuilderTest.php   | 5 +++--
 5 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/composer/Generator/Builder/DrupalCoreRecommendedBuilder.php b/composer/Generator/Builder/DrupalCoreRecommendedBuilder.php
index 1dc0a0989b45..3b695377eb45 100644
--- a/composer/Generator/Builder/DrupalCoreRecommendedBuilder.php
+++ b/composer/Generator/Builder/DrupalCoreRecommendedBuilder.php
@@ -2,6 +2,8 @@
 
 namespace Drupal\Composer\Generator\Builder;
 
+use Drupal\Composer\Composer;
+
 /**
  * Builder to produce metapackage for drupal/core-recommended.
  */
@@ -60,7 +62,7 @@ protected function initialPackageMetadata() {
         "webflo/drupal-core-strict" => "*",
       ],
       "require" => [
-        "drupal/core" => "self.version",
+        "drupal/core" => Composer::drupalVersionBranch(),
       ],
     ];
   }
diff --git a/composer/Generator/Builder/DrupalPinnedDevDependenciesBuilder.php b/composer/Generator/Builder/DrupalPinnedDevDependenciesBuilder.php
index 9e4c9724d6b4..73023c74a425 100644
--- a/composer/Generator/Builder/DrupalPinnedDevDependenciesBuilder.php
+++ b/composer/Generator/Builder/DrupalPinnedDevDependenciesBuilder.php
@@ -2,6 +2,8 @@
 
 namespace Drupal\Composer\Generator\Builder;
 
+use Drupal\Composer\Composer;
+
 /**
  * Builder to produce metapackage for drupal/core-dev-pinned.
  */
@@ -61,7 +63,7 @@ protected function initialPackageMetadata() {
         "webflo/drupal-core-require-dev" => "*",
       ],
       "require" => [
-        "drupal/core" => "self.version",
+        "drupal/core" => Composer::drupalVersionBranch(),
       ],
     ];
   }
diff --git a/composer/Metapackage/CoreRecommended/composer.json b/composer/Metapackage/CoreRecommended/composer.json
index 4e6eb3d609d7..43da9c49f172 100644
--- a/composer/Metapackage/CoreRecommended/composer.json
+++ b/composer/Metapackage/CoreRecommended/composer.json
@@ -7,7 +7,7 @@
         "webflo/drupal-core-strict": "*"
     },
     "require": {
-        "drupal/core": "self.version",
+        "drupal/core": "9.0.x-dev",
         "asm89/stack-cors": "1.2.0",
         "composer/installers": "v1.7.0",
         "composer/semver": "1.5.0",
diff --git a/composer/Metapackage/PinnedDevDependencies/composer.json b/composer/Metapackage/PinnedDevDependencies/composer.json
index 4414f639ed93..48511a89ba74 100644
--- a/composer/Metapackage/PinnedDevDependencies/composer.json
+++ b/composer/Metapackage/PinnedDevDependencies/composer.json
@@ -7,7 +7,7 @@
         "webflo/drupal-core-require-dev": "*"
     },
     "require": {
-        "drupal/core": "self.version",
+        "drupal/core": "9.0.x-dev",
         "behat/mink": "1.8.0 | 1.7.1.1 | 1.7.x-dev",
         "behat/mink-browserkit-driver": "1.3.3",
         "behat/mink-goutte-driver": "v1.2.1",
diff --git a/core/tests/Drupal/Tests/Composer/Generator/BuilderTest.php b/core/tests/Drupal/Tests/Composer/Generator/BuilderTest.php
index 1c108659878d..f402b9d2c977 100644
--- a/core/tests/Drupal/Tests/Composer/Generator/BuilderTest.php
+++ b/core/tests/Drupal/Tests/Composer/Generator/BuilderTest.php
@@ -6,6 +6,7 @@
 use Drupal\Composer\Generator\Builder\DrupalDevDependenciesBuilder;
 use Drupal\Composer\Generator\Builder\DrupalPinnedDevDependenciesBuilder;
 use PHPUnit\Framework\TestCase;
+use Drupal\Composer\Composer;
 
 /**
  * Test DrupalCoreRecommendedBuilder
@@ -28,7 +29,7 @@ public function builderTestData() {
           'license' => 'GPL-2.0-or-later',
           'require' =>
           [
-            'drupal/core' => 'self.version',
+            'drupal/core' => Composer::drupalVersionBranch(),
             'symfony/polyfill-ctype' => 'v1.12.0',
             'symfony/yaml' => 'v3.4.32',
           ],
@@ -66,7 +67,7 @@ public function builderTestData() {
           'license' => 'GPL-2.0-or-later',
           'require' =>
           [
-            'drupal/core' => 'self.version',
+            'drupal/core' => Composer::drupalVersionBranch(),
             'behat/mink' => '1.8.0 | 1.7.1.1 | 1.7.x-dev',
             'symfony/css-selector' => 'v4.3.5',
           ],
-- 
GitLab