Issue #2912387 by greg.1.anderson, Mile23, Mixologic, larowlan, jibran, alexpott, catch: Stop using wikimedia/composer-merge-plugin

merge-requests/55/head
Lee Rowlands 2019-08-06 15:51:39 +10:00
parent 1bd7d8728b
commit 344d8422e3
No known key found for this signature in database
GPG Key ID: 2B829A3DF9204DC4
6 changed files with 313 additions and 117 deletions

View File

@ -5,10 +5,24 @@
"license": "GPL-2.0-or-later", "license": "GPL-2.0-or-later",
"require": { "require": {
"composer/installers": "^1.0.24", "composer/installers": "^1.0.24",
"wikimedia/composer-merge-plugin": "^1.4" "wikimedia/composer-merge-plugin": "^1.4",
"drupal/core": "self.version"
}, },
"replace": { "require-dev": {
"drupal/core": "^8.8" "behat/mink": "1.7.x-dev",
"behat/mink-goutte-driver": "^1.2",
"behat/mink-selenium2-driver": "1.3.x-dev",
"composer/composer": "^1.8",
"drupal/coder": "^8.3.2",
"jcalderonzumba/gastonjs": "^1.0.2",
"jcalderonzumba/mink-phantomjs-driver": "^0.3.1",
"mikey179/vfsstream": "^1.2",
"phpunit/phpunit": "^6.5",
"phpspec/prophecy": "^1.7",
"symfony/css-selector": "^3.4.0",
"symfony/phpunit-bridge": "^3.4.3",
"symfony/debug": "^3.4.0",
"justinrainbow/json-schema": "^5.2"
}, },
"minimum-stability": "dev", "minimum-stability": "dev",
"prefer-stable": true, "prefer-stable": true,
@ -25,9 +39,6 @@
"https://www.drupal.org/node/2718229" "https://www.drupal.org/node/2718229"
], ],
"merge-plugin": { "merge-plugin": {
"include": [
"core/composer.json"
],
"recurse": true, "recurse": true,
"replace": false, "replace": false,
"merge-extra": false "merge-extra": false
@ -48,6 +59,8 @@
} }
}, },
"scripts": { "scripts": {
"pre-install-cmd": "Drupal\\Core\\Composer\\Composer::ensureComposerVersion",
"pre-update-cmd": "Drupal\\Core\\Composer\\Composer::ensureComposerVersion",
"pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump", "pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump",
"post-autoload-dump": "Drupal\\Core\\Composer\\Composer::ensureHtaccess", "post-autoload-dump": "Drupal\\Core\\Composer\\Composer::ensureHtaccess",
"post-package-install": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup", "post-package-install": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup",
@ -59,6 +72,10 @@
{ {
"type": "composer", "type": "composer",
"url": "https://packages.drupal.org/8" "url": "https://packages.drupal.org/8"
},
{
"type": "path",
"url": "core"
} }
] ]
} }

303
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "15aa825e18c7099ad637f9d55109db29", "content-hash": "36ce6886f9438a31a1d93784286214df",
"packages": [ "packages": [
{ {
"name": "asm89/stack-cors", "name": "asm89/stack-cors",
@ -674,6 +674,204 @@
], ],
"time": "2014-09-09T13:34:57+00:00" "time": "2014-09-09T13:34:57+00:00"
}, },
{
"name": "drupal/core",
"version": "8.8.x-dev",
"dist": {
"type": "path",
"url": "core",
"reference": "27f439f6978708d477ebb70f2ce97b28e8043da2"
},
"require": {
"asm89/stack-cors": "^1.1",
"composer/semver": "^1.0",
"doctrine/annotations": "^1.2",
"doctrine/common": "^2.5",
"easyrdf/easyrdf": "^0.9",
"egulias/email-validator": "^2.0",
"ext-date": "*",
"ext-dom": "*",
"ext-filter": "*",
"ext-gd": "*",
"ext-hash": "*",
"ext-json": "*",
"ext-pcre": "*",
"ext-pdo": "*",
"ext-session": "*",
"ext-simplexml": "*",
"ext-spl": "*",
"ext-tokenizer": "*",
"ext-xml": "*",
"guzzlehttp/guzzle": "^6.2.1",
"masterminds/html5": "^2.1",
"pear/archive_tar": "^1.4",
"php": ">=7.0.8",
"stack/builder": "^1.0",
"symfony-cmf/routing": "^1.4",
"symfony/class-loader": "~3.4.0",
"symfony/console": "~3.4.0",
"symfony/dependency-injection": "~3.4.26",
"symfony/event-dispatcher": "~3.4.0",
"symfony/http-foundation": "~3.4.27",
"symfony/http-kernel": "~3.4.14",
"symfony/polyfill-iconv": "^1.0",
"symfony/process": "~3.4.0",
"symfony/psr-http-message-bridge": "^1.0",
"symfony/routing": "~3.4.0",
"symfony/serializer": "~3.4.0",
"symfony/translation": "~3.4.0",
"symfony/validator": "~3.4.0",
"symfony/yaml": "~3.4.5",
"twig/twig": "^1.38.2",
"typo3/phar-stream-wrapper": "^2.1.1",
"zendframework/zend-diactoros": "^1.1",
"zendframework/zend-feed": "^2.4"
},
"conflict": {
"drush/drush": "<8.1.10"
},
"replace": {
"drupal/action": "self.version",
"drupal/aggregator": "self.version",
"drupal/automated_cron": "self.version",
"drupal/ban": "self.version",
"drupal/bartik": "self.version",
"drupal/basic_auth": "self.version",
"drupal/big_pipe": "self.version",
"drupal/block": "self.version",
"drupal/block_content": "self.version",
"drupal/block_place": "self.version",
"drupal/book": "self.version",
"drupal/breakpoint": "self.version",
"drupal/ckeditor": "self.version",
"drupal/classy": "self.version",
"drupal/color": "self.version",
"drupal/comment": "self.version",
"drupal/config": "self.version",
"drupal/config_environment": "self.version",
"drupal/config_translation": "self.version",
"drupal/contact": "self.version",
"drupal/content_moderation": "self.version",
"drupal/content_translation": "self.version",
"drupal/contextual": "self.version",
"drupal/core-annotation": "self.version",
"drupal/core-assertion": "self.version",
"drupal/core-bridge": "self.version",
"drupal/core-class-finder": "self.version",
"drupal/core-datetime": "self.version",
"drupal/core-dependency-injection": "self.version",
"drupal/core-diff": "self.version",
"drupal/core-discovery": "self.version",
"drupal/core-event-dispatcher": "self.version",
"drupal/core-file-cache": "self.version",
"drupal/core-filesystem": "self.version",
"drupal/core-gettext": "self.version",
"drupal/core-graph": "self.version",
"drupal/core-http-foundation": "self.version",
"drupal/core-php-storage": "self.version",
"drupal/core-plugin": "self.version",
"drupal/core-proxy-builder": "self.version",
"drupal/core-render": "self.version",
"drupal/core-serialization": "self.version",
"drupal/core-transliteration": "self.version",
"drupal/core-utility": "self.version",
"drupal/core-uuid": "self.version",
"drupal/core-version": "self.version",
"drupal/datetime": "self.version",
"drupal/datetime_range": "self.version",
"drupal/dblog": "self.version",
"drupal/dynamic_page_cache": "self.version",
"drupal/editor": "self.version",
"drupal/entity_reference": "self.version",
"drupal/field": "self.version",
"drupal/field_layout": "self.version",
"drupal/field_ui": "self.version",
"drupal/file": "self.version",
"drupal/filter": "self.version",
"drupal/forum": "self.version",
"drupal/hal": "self.version",
"drupal/help": "self.version",
"drupal/help_topics": "self.version",
"drupal/history": "self.version",
"drupal/image": "self.version",
"drupal/inline_form_errors": "self.version",
"drupal/jsonapi": "self.version",
"drupal/language": "self.version",
"drupal/layout_builder": "self.version",
"drupal/layout_discovery": "self.version",
"drupal/link": "self.version",
"drupal/locale": "self.version",
"drupal/media": "self.version",
"drupal/media_library": "self.version",
"drupal/menu_link_content": "self.version",
"drupal/menu_ui": "self.version",
"drupal/migrate": "self.version",
"drupal/migrate_drupal": "self.version",
"drupal/migrate_drupal_multilingual": "self.version",
"drupal/migrate_drupal_ui": "self.version",
"drupal/minimal": "self.version",
"drupal/node": "self.version",
"drupal/options": "self.version",
"drupal/page_cache": "self.version",
"drupal/path": "self.version",
"drupal/quickedit": "self.version",
"drupal/rdf": "self.version",
"drupal/responsive_image": "self.version",
"drupal/rest": "self.version",
"drupal/search": "self.version",
"drupal/serialization": "self.version",
"drupal/settings_tray": "self.version",
"drupal/seven": "self.version",
"drupal/shortcut": "self.version",
"drupal/simpletest": "self.version",
"drupal/standard": "self.version",
"drupal/stark": "self.version",
"drupal/statistics": "self.version",
"drupal/syslog": "self.version",
"drupal/system": "self.version",
"drupal/taxonomy": "self.version",
"drupal/telephone": "self.version",
"drupal/text": "self.version",
"drupal/toolbar": "self.version",
"drupal/tour": "self.version",
"drupal/tracker": "self.version",
"drupal/update": "self.version",
"drupal/user": "self.version",
"drupal/views": "self.version",
"drupal/views_ui": "self.version",
"drupal/workflows": "self.version",
"drupal/workspaces": "self.version"
},
"type": "drupal-core",
"autoload": {
"psr-4": {
"Drupal\\Core\\": "lib/Drupal/Core",
"Drupal\\Component\\": "lib/Drupal/Component",
"Drupal\\Driver\\": "../drivers/lib/Drupal/Driver"
},
"classmap": [
"lib/Drupal.php",
"lib/Drupal/Component/Utility/Timer.php",
"lib/Drupal/Component/Utility/Unicode.php",
"lib/Drupal/Core/Database/Database.php",
"lib/Drupal/Core/DrupalKernel.php",
"lib/Drupal/Core/DrupalKernelInterface.php",
"lib/Drupal/Core/Site/Settings.php"
]
},
"scripts": {
"pre-autoload-dump": [
"Drupal\\Core\\Composer\\Composer::preAutoloadDump"
],
"post-autoload-dump": [
"Drupal\\Core\\Composer\\Composer::ensureHtaccess"
]
},
"license": [
"GPL-2.0-or-later"
],
"description": "Drupal is an open source content management platform powering millions of websites and applications."
},
{ {
"name": "easyrdf/easyrdf", "name": "easyrdf/easyrdf",
"version": "0.9.1", "version": "0.9.1",
@ -714,14 +912,14 @@
"authors": [ "authors": [
{ {
"name": "Nicholas Humfrey", "name": "Nicholas Humfrey",
"role": "Developer",
"email": "njh@aelius.com", "email": "njh@aelius.com",
"homepage": "http://www.aelius.com/njh/", "homepage": "http://www.aelius.com/njh/"
"role": "Developer"
}, },
{ {
"name": "Alexey Zakhlestin", "name": "Alexey Zakhlestin",
"email": "indeyets@gmail.com", "role": "Developer",
"role": "Developer" "email": "indeyets@gmail.com"
} }
], ],
"description": "EasyRdf is a PHP library designed to make it easy to consume and produce RDF.", "description": "EasyRdf is a PHP library designed to make it easy to consume and produce RDF.",
@ -2775,19 +2973,19 @@
"authors": [ "authors": [
{ {
"name": "Fabien Potencier", "name": "Fabien Potencier",
"role": "Lead Developer",
"email": "fabien@symfony.com", "email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org", "homepage": "http://fabien.potencier.org"
"role": "Lead Developer"
}, },
{ {
"name": "Armin Ronacher", "name": "Armin Ronacher",
"email": "armin.ronacher@active-4.com", "role": "Project Founder",
"role": "Project Founder" "email": "armin.ronacher@active-4.com"
}, },
{ {
"name": "Twig Team", "name": "Twig Team",
"homepage": "https://twig.symfony.com/contributors", "role": "Contributors",
"role": "Contributors" "homepage": "https://twig.symfony.com/contributors"
} }
], ],
"description": "Twig, the flexible, fast, and secure template language for PHP", "description": "Twig, the flexible, fast, and secure template language for PHP",
@ -3102,26 +3300,27 @@
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/minkphp/Mink.git", "url": "https://github.com/minkphp/Mink.git",
"reference": "9ea1cebe3dc529ba3861d87c818f045362c40484" "reference": "a534fe7dac9525e8e10ca68e737c3d7e5058ec83"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/minkphp/Mink/zipball/9ea1cebe3dc529ba3861d87c818f045362c40484", "url": "https://api.github.com/repos/minkphp/Mink/zipball/a534fe7dac9525e8e10ca68e737c3d7e5058ec83",
"reference": "9ea1cebe3dc529ba3861d87c818f045362c40484", "reference": "a534fe7dac9525e8e10ca68e737c3d7e5058ec83",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.3.1", "php": ">=5.3.1",
"symfony/css-selector": "~2.1|~3.0" "symfony/css-selector": "^2.7|^3.0|^4.0"
}, },
"require-dev": { "require-dev": {
"symfony/phpunit-bridge": "~2.7|~3.0" "symfony/phpunit-bridge": "^4.2"
}, },
"suggest": { "suggest": {
"behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)", "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
"behat/mink-goutte-driver": "fast headless driver for any app without JS emulation", "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation",
"behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)", "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)",
"behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)" "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)",
"dmore/chrome-mink-driver": "fast and JS-enabled driver for any app (requires chromium or google chrome)"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@ -3152,7 +3351,7 @@
"testing", "testing",
"web" "web"
], ],
"time": "2017-02-06T09:59:54+00:00" "time": "2019-07-15T12:45:29+00:00"
}, },
{ {
"name": "behat/mink-browserkit-driver", "name": "behat/mink-browserkit-driver",
@ -3271,12 +3470,12 @@
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/minkphp/MinkSelenium2Driver.git", "url": "https://github.com/minkphp/MinkSelenium2Driver.git",
"reference": "93474c65a2a7bf959200ab5f7a14cc450645c185" "reference": "8684ee4e634db7abda9039ea53545f86fc1e105a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/minkphp/MinkSelenium2Driver/zipball/93474c65a2a7bf959200ab5f7a14cc450645c185", "url": "https://api.github.com/repos/minkphp/MinkSelenium2Driver/zipball/8684ee4e634db7abda9039ea53545f86fc1e105a",
"reference": "93474c65a2a7bf959200ab5f7a14cc450645c185", "reference": "8684ee4e634db7abda9039ea53545f86fc1e105a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3324,7 +3523,7 @@
"testing", "testing",
"webdriver" "webdriver"
], ],
"time": "2018-01-07T19:17:08+00:00" "time": "2018-10-10T12:39:06+00:00"
}, },
{ {
"name": "composer/ca-bundle", "name": "composer/ca-bundle",
@ -3995,7 +4194,7 @@
"time": "2019-01-14T23:55:14+00:00" "time": "2019-01-14T23:55:14+00:00"
}, },
{ {
"name": "mikey179/vfsStream", "name": "mikey179/vfsstream",
"version": "v1.6.5", "version": "v1.6.5",
"source": { "source": {
"type": "git", "type": "git",
@ -4032,8 +4231,8 @@
"authors": [ "authors": [
{ {
"name": "Frank Kleine", "name": "Frank Kleine",
"homepage": "http://frankkleine.de/", "role": "Developer",
"role": "Developer" "homepage": "http://frankkleine.de/"
} }
], ],
"description": "Virtual file system to mock the real file system in unit tests.", "description": "Virtual file system to mock the real file system in unit tests.",
@ -4170,18 +4369,18 @@
"authors": [ "authors": [
{ {
"name": "Arne Blankerts", "name": "Arne Blankerts",
"email": "arne@blankerts.de", "role": "Developer",
"role": "Developer" "email": "arne@blankerts.de"
}, },
{ {
"name": "Sebastian Heuer", "name": "Sebastian Heuer",
"email": "sebastian@phpeople.de", "role": "Developer",
"role": "Developer" "email": "sebastian@phpeople.de"
}, },
{ {
"name": "Sebastian Bergmann", "name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de", "role": "Developer",
"role": "Developer" "email": "sebastian@phpunit.de"
} }
], ],
"description": "Library for handling version information and constraints", "description": "Library for handling version information and constraints",
@ -4349,8 +4548,8 @@
"authors": [ "authors": [
{ {
"name": "Sebastian Bergmann", "name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de", "role": "lead",
"role": "lead" "email": "sebastian@phpunit.de"
} }
], ],
"description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
@ -4397,8 +4596,8 @@
"authors": [ "authors": [
{ {
"name": "Sebastian Bergmann", "name": "Sebastian Bergmann",
"email": "sb@sebastian-bergmann.de", "role": "lead",
"role": "lead" "email": "sb@sebastian-bergmann.de"
} }
], ],
"description": "FilterIterator implementation that filters files based on a list of suffixes.", "description": "FilterIterator implementation that filters files based on a list of suffixes.",
@ -4439,8 +4638,8 @@
"authors": [ "authors": [
{ {
"name": "Sebastian Bergmann", "name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de", "role": "lead",
"role": "lead" "email": "sebastian@phpunit.de"
} }
], ],
"description": "Simple template engine.", "description": "Simple template engine.",
@ -4488,8 +4687,8 @@
"authors": [ "authors": [
{ {
"name": "Sebastian Bergmann", "name": "Sebastian Bergmann",
"email": "sb@sebastian-bergmann.de", "role": "lead",
"role": "lead" "email": "sb@sebastian-bergmann.de"
} }
], ],
"description": "Utility class for timing", "description": "Utility class for timing",
@ -4619,8 +4818,8 @@
"authors": [ "authors": [
{ {
"name": "Sebastian Bergmann", "name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de", "role": "lead",
"role": "lead" "email": "sebastian@phpunit.de"
} }
], ],
"description": "The PHP Unit Testing framework.", "description": "The PHP Unit Testing framework.",
@ -5243,8 +5442,8 @@
"authors": [ "authors": [
{ {
"name": "Sebastian Bergmann", "name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de", "role": "lead",
"role": "lead" "email": "sebastian@phpunit.de"
} }
], ],
"description": "Library that helps with managing the version number of Git-hosted PHP projects", "description": "Library that helps with managing the version number of Git-hosted PHP projects",
@ -5770,26 +5969,12 @@
"aliases": [], "aliases": [],
"minimum-stability": "dev", "minimum-stability": "dev",
"stability-flags": { "stability-flags": {
"drupal/core": 20,
"behat/mink": 20, "behat/mink": 20,
"behat/mink-selenium2-driver": 20 "behat/mink-selenium2-driver": 20
}, },
"prefer-stable": true, "prefer-stable": true,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": [],
"ext-date": "*",
"ext-dom": "*",
"ext-filter": "*",
"ext-gd": "*",
"ext-hash": "*",
"ext-json": "*",
"ext-pcre": "*",
"ext-pdo": "*",
"ext-session": "*",
"ext-simplexml": "*",
"ext-spl": "*",
"ext-tokenizer": "*",
"ext-xml": "*",
"php": ">=7.0.8"
},
"platform-dev": [] "platform-dev": []
} }

View File

@ -51,22 +51,6 @@
"conflict": { "conflict": {
"drush/drush": "<8.1.10" "drush/drush": "<8.1.10"
}, },
"require-dev": {
"behat/mink": "1.7.x-dev",
"behat/mink-goutte-driver": "^1.2",
"behat/mink-selenium2-driver": "1.3.x-dev",
"composer/composer": "^1.8",
"drupal/coder": "^8.3.2",
"jcalderonzumba/gastonjs": "^1.0.2",
"jcalderonzumba/mink-phantomjs-driver": "^0.3.1",
"mikey179/vfsstream": "^1.2",
"phpunit/phpunit": "^6.5",
"phpspec/prophecy": "^1.7",
"symfony/css-selector": "^3.4.0",
"symfony/phpunit-bridge": "^3.4.3",
"symfony/debug": "^3.4.0",
"justinrainbow/json-schema": "^5.2"
},
"replace": { "replace": {
"drupal/action": "self.version", "drupal/action": "self.version",
"drupal/aggregator": "self.version", "drupal/aggregator": "self.version",
@ -110,7 +94,6 @@
"drupal/core-proxy-builder": "self.version", "drupal/core-proxy-builder": "self.version",
"drupal/core-render": "self.version", "drupal/core-render": "self.version",
"drupal/core-serialization": "self.version", "drupal/core-serialization": "self.version",
"drupal/core-composer-scaffold": "self.version",
"drupal/core-transliteration": "self.version", "drupal/core-transliteration": "self.version",
"drupal/core-utility": "self.version", "drupal/core-utility": "self.version",
"drupal/core-uuid": "self.version", "drupal/core-uuid": "self.version",
@ -180,39 +163,6 @@
"drupal/workflows": "self.version", "drupal/workflows": "self.version",
"drupal/workspaces": "self.version" "drupal/workspaces": "self.version"
}, },
"extra": {
"merge-plugin": {
"require": [
"core/lib/Drupal/Component/Annotation/composer.json",
"core/lib/Drupal/Component/Assertion/composer.json",
"core/lib/Drupal/Component/Bridge/composer.json",
"core/lib/Drupal/Component/ClassFinder/composer.json",
"core/lib/Drupal/Component/Datetime/composer.json",
"core/lib/Drupal/Component/DependencyInjection/composer.json",
"core/lib/Drupal/Component/Diff/composer.json",
"core/lib/Drupal/Component/Discovery/composer.json",
"core/lib/Drupal/Component/EventDispatcher/composer.json",
"core/lib/Drupal/Component/FileCache/composer.json",
"core/lib/Drupal/Component/FileSystem/composer.json",
"core/lib/Drupal/Component/Gettext/composer.json",
"core/lib/Drupal/Component/Graph/composer.json",
"core/lib/Drupal/Component/HttpFoundation/composer.json",
"core/lib/Drupal/Component/PhpStorage/composer.json",
"core/lib/Drupal/Component/Plugin/composer.json",
"core/lib/Drupal/Component/ProxyBuilder/composer.json",
"core/lib/Drupal/Component/Render/composer.json",
"core/lib/Drupal/Component/Serialization/composer.json",
"core/lib/Drupal/Component/Scaffold/composer.json",
"core/lib/Drupal/Component/Transliteration/composer.json",
"core/lib/Drupal/Component/Utility/composer.json",
"core/lib/Drupal/Component/Uuid/composer.json",
"core/lib/Drupal/Component/Version/composer.json"
],
"recurse": false,
"replace": false,
"merge-extra": false
}
},
"minimum-stability": "dev", "minimum-stability": "dev",
"prefer-stable": true, "prefer-stable": true,
"autoload": { "autoload": {

View File

@ -3,6 +3,8 @@
namespace Drupal\Core\Composer; namespace Drupal\Core\Composer;
use Drupal\Component\PhpStorage\FileStorage; use Drupal\Component\PhpStorage\FileStorage;
use Composer\Semver\Comparator;
use Composer\Composer as ComposerApp;
use Composer\Script\Event; use Composer\Script\Event;
use Composer\Installer\PackageEvent; use Composer\Installer\PackageEvent;
use Composer\Semver\Constraint\Constraint; use Composer\Semver\Constraint\Constraint;
@ -94,6 +96,17 @@ class Composer {
'zendframework/zend-stdlib' => ['doc'], 'zendframework/zend-stdlib' => ['doc'],
]; ];
/**
* Ensure that the minimum required version of Composer is running.
* Throw an exception if Composer is too old.
*/
public static function ensureComposerVersion() {
$composerVersion = ComposerApp::getVersion();
if (Comparator::lessThan($composerVersion, '1.9.0')) {
throw new \RuntimeException("Drupal core development requires Composer 1.9.0, but Composer $composerVersion is installed. Please run 'composer self-update'.");
}
}
/** /**
* Add vendor classes to Composer's static classmap. * Add vendor classes to Composer's static classmap.
*/ */

View File

@ -10,13 +10,16 @@ const collectedFolders = {
Pages: [], Pages: [],
}; };
const searchDirectory = process.env.DRUPAL_NIGHTWATCH_SEARCH_DIRECTORY || ''; const searchDirectory = process.env.DRUPAL_NIGHTWATCH_SEARCH_DIRECTORY || '';
const defaultIgnore = ['vendor/**'];
glob glob
.sync('**/tests/**/Nightwatch/**/*.js', { .sync('**/tests/**/Nightwatch/**/*.js', {
cwd: path.resolve(process.cwd(), `../${searchDirectory}`), cwd: path.resolve(process.cwd(), `../${searchDirectory}`),
ignore: process.env.DRUPAL_NIGHTWATCH_IGNORE_DIRECTORIES ignore: process.env.DRUPAL_NIGHTWATCH_IGNORE_DIRECTORIES
? process.env.DRUPAL_NIGHTWATCH_IGNORE_DIRECTORIES.split(',') ? process.env.DRUPAL_NIGHTWATCH_IGNORE_DIRECTORIES.split(',').concat(
: [], defaultIgnore,
)
: defaultIgnore,
}) })
.forEach(file => { .forEach(file => {
let m = regex.exec(file); let m = regex.exec(file);

View File

@ -0,0 +1,28 @@
<?php
namespace Drupal\Tests\Core\Composer;
use Drupal\Core\Composer\Composer;
use Drupal\Tests\UnitTestCase;
/**
* @coversDefaultClass \Drupal\Core\Composer\Composer
* @group Composer
*/
class ComposerTest extends UnitTestCase {
/**
* Verify that Composer::ensureComposerVersion() doesn't break.
*
* @covers::ensureComposerVersion
*/
public function testEnsureComposerVersion() {
try {
$this->assertNull(Composer::ensureComposerVersion());
}
catch (\RuntimeException $e) {
$this->assertRegExp('/Drupal core development requires Composer 1.9.0, but Composer /', $e->getMessage());
}
}
}