Commit d3b2a6f6 authored by catch's avatar catch
Browse files

Issue #3078671 by Simon Peacock, greg.1.anderson, vuil, alexpott, jungle,...

Issue #3078671 by Simon Peacock, greg.1.anderson, vuil, alexpott, jungle, rodrigoaguilera, sam-elayyoub, mmjvb, karolrybak: Pin behat/mink and behat/mink-selenium2-driver to use resolvable release
parent 4c453683
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -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 --"
+18 −18
Original line number Diff line number Diff line
@@ -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,
+0 −29
Original line number Diff line number Diff line
@@ -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.
   *
+0 −12
Original line number Diff line number Diff line
@@ -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']);

+0 −13
Original line number Diff line number Diff line
@@ -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;
Loading