diff --git a/composer/Composer.php b/composer/Composer.php index 0a76fc7..6964446 100644 --- a/composer/Composer.php +++ b/composer/Composer.php @@ -49,4 +49,15 @@ public static function drupalVersionBranch() { return preg_replace('#\.[0-9]+-dev#', '.x-dev', \Drupal::VERSION); } + /** + * Return a composer constraint for the current Drupal core minor branch. + * + * @return string + * A composer constraint for the current minor branch, e.g. '^8.9'or '^9.0'. + */ + public static function drupalVersionConstraint() { + [$major, $minor] = explode('.', \Drupal::VERSION); + return "^$major.$minor"; + } + } diff --git a/composer/Generator/Builder/DrupalDevDependenciesBuilder.php b/composer/Generator/Builder/DrupalDevDependenciesBuilder.php index b282d23..a098f8f 100644 --- a/composer/Generator/Builder/DrupalDevDependenciesBuilder.php +++ b/composer/Generator/Builder/DrupalDevDependenciesBuilder.php @@ -2,6 +2,8 @@ namespace Drupal\Composer\Generator\Builder; +use Drupal\Composer\Composer; + /** * Builder to produce metapackage for drupal/core-dev. */ @@ -23,6 +25,8 @@ public function getPackage() { // Put everything from Drupal's "require-dev" into our "require" section. $composer['require'] = $this->drupalCoreInfo->getRequireDev(); + // Depend on the correct branch of drupal/core. + $composer['require']['drupal/core'] = Composer::drupalVersionConstraint(); // Sort our required packages by key. ksort($composer['require']);