diff --git a/composer.json b/composer.json index 9b0a881f216e2b0d5db078d77bb0833922f26b43..802a169dab89258ddba3aab9a3117bfa4e611043 100644 --- a/composer.json +++ b/composer.json @@ -16,9 +16,9 @@ "wikimedia/composer-merge-plugin": "^1.4" }, "require-dev": { - "behat/mink": "1.7.x-dev", + "behat/mink": "^1.8", "behat/mink-goutte-driver": "^1.2", - "behat/mink-selenium2-driver": "1.3.x-dev", + "behat/mink-selenium2-driver": "^1.4", "composer/composer": "^1.9.1", "drupal/coder": "^8.3.7", "mikey179/vfsstream": "^1.6.8", @@ -94,8 +94,7 @@ "drupal-phpunit-upgrade-check": "Drupal\\Core\\Composer\\Composer::upgradePHPUnit", "drupal-phpunit-upgrade": "@composer update phpunit/phpunit symfony/phpunit-bridge phpspec/prophecy symfony/yaml --with-dependencies --no-progress", "post-update-cmd": [ - "Drupal\\Composer\\Composer::generateMetapackages", - "Drupal\\Composer\\Composer::ensureBehatDriverVersions" + "Drupal\\Composer\\Composer::generateMetapackages" ], "phpcs": "phpcs --standard=core/phpcs.xml.dist --runtime-set installed_paths $($COMPOSER_BINARY config vendor-dir)/drupal/coder/coder_sniffer --", "phpcbf": "phpcbf --standard=core/phpcs.xml.dist --runtime-set installed_paths $($COMPOSER_BINARY config vendor-dir)/drupal/coder/coder_sniffer --" diff --git a/composer.lock b/composer.lock index 14af35207b3fe9339cb7e49cdf84784b6d3a1032..c66de3c2a865ee72ada79b50885bdee3d0bf641c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d8477fb085432c15724c090b7d20f6d2", + "content-hash": "9f09812034693639943c0b66284866c2", "packages": [ { "name": "asm89/stack-cors", @@ -3734,24 +3734,26 @@ "packages-dev": [ { "name": "behat/mink", - "version": "dev-master", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/minkphp/Mink.git", - "reference": "a534fe7dac9525e8e10ca68e737c3d7e5058ec83" + "reference": "e1772aabb6b654464264a6cc72158c8b3409d8bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/Mink/zipball/a534fe7dac9525e8e10ca68e737c3d7e5058ec83", - "reference": "a534fe7dac9525e8e10ca68e737c3d7e5058ec83", + "url": "https://api.github.com/repos/minkphp/Mink/zipball/e1772aabb6b654464264a6cc72158c8b3409d8bc", + "reference": "e1772aabb6b654464264a6cc72158c8b3409d8bc", "shasum": "" }, "require": { "php": ">=5.3.1", - "symfony/css-selector": "^2.7|^3.0|^4.0" + "symfony/css-selector": "^2.7|^3.0|^4.0|^5.0" }, "require-dev": { - "symfony/phpunit-bridge": "^4.2" + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20", + "symfony/debug": "^2.7|^3.0|^4.0", + "symfony/phpunit-bridge": "^3.4.38 || ^5.0.5" }, "suggest": { "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)", @@ -3763,7 +3765,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7.x-dev" + "dev-master": "1.8.x-dev" } }, "autoload": { @@ -3789,7 +3791,7 @@ "testing", "web" ], - "time": "2019-07-15T12:45:29+00:00" + "time": "2020-03-11T15:26:34+00:00" }, { "name": "behat/mink-browserkit-driver", @@ -3904,16 +3906,16 @@ }, { "name": "behat/mink-selenium2-driver", - "version": "1.3.x-dev", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/minkphp/MinkSelenium2Driver.git", - "reference": "0a09c4341621fca937a726827611b20ce3e2c259" + "reference": "312a967dd527f28980cce40850339cd5316da092" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkSelenium2Driver/zipball/0a09c4341621fca937a726827611b20ce3e2c259", - "reference": "0a09c4341621fca937a726827611b20ce3e2c259", + "url": "https://api.github.com/repos/minkphp/MinkSelenium2Driver/zipball/312a967dd527f28980cce40850339cd5316da092", + "reference": "312a967dd527f28980cce40850339cd5316da092", "shasum": "" }, "require": { @@ -3927,7 +3929,7 @@ "type": "mink-driver", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "1.4.x-dev" } }, "autoload": { @@ -3961,7 +3963,7 @@ "testing", "webdriver" ], - "time": "2019-09-02T09:46:54+00:00" + "time": "2020-03-11T14:43:21+00:00" }, { "name": "composer/ca-bundle", @@ -6537,9 +6539,7 @@ "stability-flags": { "drupal/core": 20, "drupal/core-project-message": 20, - "drupal/core-vendor-hardening": 20, - "behat/mink": 20, - "behat/mink-selenium2-driver": 20 + "drupal/core-vendor-hardening": 20 }, "prefer-stable": true, "prefer-lowest": false, diff --git a/composer/Composer.php b/composer/Composer.php index c3c6a39e939c65af7639f3eed28126f3b609b508..0a76fc717566743b4811de0c85db2c477449ee8d 100644 --- a/composer/Composer.php +++ b/composer/Composer.php @@ -6,7 +6,6 @@ use Composer\Script\Event; use Composer\Semver\Comparator; use Drupal\Composer\Generator\PackageGenerator; -use Drupal\Composer\Generator\Util\DrupalCoreComposer; /** * Provides static functions for composer script events. See also @@ -40,34 +39,6 @@ public static function ensureComposerVersion() { } } - /** - * Ensure that the right version of behat/mink-selenium2-driver is locked. - * Throw an exception if we do not have 1.3.x-dev. - * - * @todo: Remove this once https://www.drupal.org/node/3078671 is fixed. - */ - public static function ensureBehatDriverVersions() { - $drupalCoreComposer = DrupalCoreComposer::createFromPath(getcwd()); - - $expectedVersion = '1.3.x-dev'; - $behatMinkSelenium2DriverInfo = $drupalCoreComposer->packageLockInfo('behat/mink-selenium2-driver', TRUE); - if ($behatMinkSelenium2DriverInfo['version'] != $expectedVersion) { - $drupalVersion = static::drupalVersionBranch(); - $message = <<< __EOT__ -Drupal requires behat/mink-selenium2-driver:$expectedVersion in its composer.json -file, but it is pinned to {$behatMinkSelenium2DriverInfo['version']} in the composer.lock file. -This sometimes happens when Composer becomes confused. To fix: - -1. `git checkout -- composer.lock`, or otherwise reset to a known-good lock file. -2. `rm -rf vendor` -3. `composer install` -4. `COMPOSER_ROOT_VERSION={$drupalVersion} composer update ...` (where ... is - the update arguments you wish to run, e.g. --lock). -__EOT__; - throw new \RuntimeException($message); - } - } - /** * Return the branch name the current Drupal version is associated with. * diff --git a/composer/Generator/Builder/DrupalDevDependenciesBuilder.php b/composer/Generator/Builder/DrupalDevDependenciesBuilder.php index 43e80fc37d7f1acdfb610869f5a1277c9977a557..b282d236f1a31790f3a29dd9183e080e2255fb23 100644 --- a/composer/Generator/Builder/DrupalDevDependenciesBuilder.php +++ b/composer/Generator/Builder/DrupalDevDependenciesBuilder.php @@ -24,18 +24,6 @@ public function getPackage() { // Put everything from Drupal's "require-dev" into our "require" section. $composer['require'] = $this->drupalCoreInfo->getRequireDev(); - // If the require-dev is bringing in a dev version of behat/mink, convert - // the requirement to a more flexible set of versions. - // @todo: remove when https://www.drupal.org/node/3078671 is fixed. - if (isset($composer['require']['behat/mink']) && ($composer['require']['behat/mink'] == '1.7.x-dev')) { - $composer['require']['behat/mink'] = '1.8.0 | 1.7.1.1 | 1.7.x-dev'; - } - - // Do the same sort of conversion for behat/mink-selenium2-driver. - if (isset($composer['require']['behat/mink-selenium2-driver']) && ($composer['require']['behat/mink-selenium2-driver'] == '1.3.x-dev')) { - $composer['require']['behat/mink-selenium2-driver'] = '1.4.0 | 1.3.1.1 | 1.3.x-dev'; - } - // Sort our required packages by key. ksort($composer['require']); diff --git a/composer/Generator/Builder/DrupalPinnedDevDependenciesBuilder.php b/composer/Generator/Builder/DrupalPinnedDevDependenciesBuilder.php index 73023c74a425cc9b6413a71f92e5576d81f87e3f..a00309281ec2f755dc33e4212ca100d193da768a 100644 --- a/composer/Generator/Builder/DrupalPinnedDevDependenciesBuilder.php +++ b/composer/Generator/Builder/DrupalPinnedDevDependenciesBuilder.php @@ -28,21 +28,8 @@ public function getPackage() { $composerLockData = $this->drupalCoreInfo->composerLock(); if (isset($composerLockData['packages-dev'])) { - foreach ($composerLockData['packages-dev'] as $package) { $composer['require'][$package['name']] = $package['version']; - - // If the require-dev is bringing in a dev version of behat/mink, - // convert the requirement to a more flexible set of versions. - // @todo: remove when https://www.drupal.org/node/3078671 is fixed. - if (($package['name'] == 'behat/mink') && (($package['version'] == 'dev-master') || ($package['version'] == '1.7.x-dev'))) { - $composer['require']['behat/mink'] = '1.8.0 | 1.7.1.1 | 1.7.x-dev'; - } - - // Do the same sort of conversion for behat/mink-selenium2-driver. - if (($package['name'] == 'behat/mink-selenium2-driver') && (($package['version'] == 'dev-master') || ($package['version'] == '1.3.x-dev'))) { - $composer['require']['behat/mink-selenium2-driver'] = '1.4.0 | 1.3.1.1 | 1.3.x-dev'; - } } } return $composer; diff --git a/composer/Metapackage/DevDependencies/composer.json b/composer/Metapackage/DevDependencies/composer.json index 6b8e783cc4dcdac696d561e89ae79d1c50710193..03a9386fb9f8a87f22bb82c8e4a61c532b48b324 100644 --- a/composer/Metapackage/DevDependencies/composer.json +++ b/composer/Metapackage/DevDependencies/composer.json @@ -7,9 +7,9 @@ "webflo/drupal-core-require-dev": "*" }, "require": { - "behat/mink": "1.8.0 | 1.7.1.1 | 1.7.x-dev", + "behat/mink": "^1.8", "behat/mink-goutte-driver": "^1.2", - "behat/mink-selenium2-driver": "1.4.0 | 1.3.1.1 | 1.3.x-dev", + "behat/mink-selenium2-driver": "^1.4", "composer/composer": "^1.9.1", "drupal/coder": "^8.3.7", "easyrdf/easyrdf": "^0.9", diff --git a/composer/Metapackage/PinnedDevDependencies/composer.json b/composer/Metapackage/PinnedDevDependencies/composer.json index 0cdef50e21b21bceffd5f75aa9e56226c3797724..d1ab91c66a6ce3ca71730b2324125467b1bb121d 100644 --- a/composer/Metapackage/PinnedDevDependencies/composer.json +++ b/composer/Metapackage/PinnedDevDependencies/composer.json @@ -8,10 +8,10 @@ }, "require": { "drupal/core": "9.0.x-dev", - "behat/mink": "1.8.0 | 1.7.1.1 | 1.7.x-dev", + "behat/mink": "v1.8.0", "behat/mink-browserkit-driver": "1.3.3", "behat/mink-goutte-driver": "v1.2.1", - "behat/mink-selenium2-driver": "1.4.0 | 1.3.1.1 | 1.3.x-dev", + "behat/mink-selenium2-driver": "v1.4.0", "composer/ca-bundle": "1.2.6", "composer/composer": "1.9.3", "composer/spdx-licenses": "1.5.3", diff --git a/core/tests/Drupal/Tests/Composer/ComposerTest.php b/core/tests/Drupal/Tests/Composer/ComposerTest.php index 7728187888e3976163bb14a90aec216d08382e72..2e1d1bdfaba55a035dcd82cbd7bf70aa5d208744 100644 --- a/core/tests/Drupal/Tests/Composer/ComposerTest.php +++ b/core/tests/Drupal/Tests/Composer/ComposerTest.php @@ -25,23 +25,4 @@ public function testEnsureComposerVersion() { } } - /** - * Verify that Composer::ensureBehatDriverVersions() detects a good version. - * - * @covers::ensureBehatDriverVersions - */ - public function testEnsureBehatDriverVersions() { - // First call 'ensureBehatDriverVersions' test directly using Drupal's - // composer.lock. It should not fail. - chdir($this->root); - $this->assertNull(Composer::ensureBehatDriverVersions()); - - // Next, call 'ensureBehatDriverVersions' again, this time using a fixture - // with a known-bad version number. - $this->expectException(\RuntimeException::class); - $this->expectExceptionMessageRegExp('#^Drupal requires behat/mink-selenium2-driver:1.3.x-dev#'); - chdir(__DIR__ . '/fixtures/ensureBehatDriverVersionsFixture'); - $this->assertNull(Composer::ensureBehatDriverVersions()); - } - } diff --git a/core/tests/Drupal/Tests/Composer/Generator/BuilderTest.php b/core/tests/Drupal/Tests/Composer/Generator/BuilderTest.php index f402b9d2c977adc4e7e51951ebb9a143371caa57..962486e16a8b93ed1770fcc5e786ff1d2e05635f 100644 --- a/core/tests/Drupal/Tests/Composer/Generator/BuilderTest.php +++ b/core/tests/Drupal/Tests/Composer/Generator/BuilderTest.php @@ -49,7 +49,7 @@ public function builderTestData() { 'license' => 'GPL-2.0-or-later', 'require' => [ - 'behat/mink' => '1.8.0 | 1.7.1.1 | 1.7.x-dev', + 'behat/mink' => '^1.8', ], 'conflict' => [ @@ -68,7 +68,7 @@ public function builderTestData() { 'require' => [ 'drupal/core' => Composer::drupalVersionBranch(), - 'behat/mink' => '1.8.0 | 1.7.1.1 | 1.7.x-dev', + 'behat/mink' => 'v1.8.0', 'symfony/css-selector' => 'v4.3.5', ], 'conflict' => diff --git a/core/tests/Drupal/Tests/Composer/Generator/Fixtures.php b/core/tests/Drupal/Tests/Composer/Generator/Fixtures.php index eccac2c12b30ba4bf3583aa12b1b90083f4003ac..5731a7600dc1f42ce9c0c4e84b339ee2ba1121cb 100644 --- a/core/tests/Drupal/Tests/Composer/Generator/Fixtures.php +++ b/core/tests/Drupal/Tests/Composer/Generator/Fixtures.php @@ -38,7 +38,7 @@ protected function composerJson() { ], 'require-dev' => [ - 'behat/mink' => '1.7.x-dev', + 'behat/mink' => '^1.8', ], ]; } @@ -84,12 +84,12 @@ protected function composerLock() { [ [ 'name' => 'behat/mink', - 'version' => 'dev-master', + 'version' => 'v1.8.0', 'source' => [ 'type' => 'git', 'url' => 'https://github.com/minkphp/Mink.git', - 'reference' => 'a534fe7dac9525e8e10ca68e737c3d7e5058ec83', + 'reference' => 'e1772aabb6b654464264a6cc72158c8b3409d8bc', ], ], [