diff --git a/composer.lock b/composer.lock index 63573e0..44413a4 100644 --- a/composer.lock +++ b/composer.lock @@ -848,48 +848,6 @@ "time": "2015-08-15 19:32:36" }, { - "name": "ircmaxell/password-compat", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/ircmaxell/password_compat.git", - "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", - "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "4.*" - }, - "type": "library", - "autoload": { - "files": [ - "lib/password.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Anthony Ferrara", - "email": "ircmaxell@php.net", - "homepage": "http://blog.ircmaxell.com" - } - ], - "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", - "homepage": "https://github.com/ircmaxell/password_compat", - "keywords": [ - "hashing", - "password" - ], - "time": "2014-11-20 16:49:30" - }, - { "name": "masterminds/html5", "version": "2.1.2", "source": { @@ -1091,22 +1049,22 @@ }, { "name": "stack/builder", - "version": "v1.0.3", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/stackphp/builder.git", - "reference": "c1f8a4693b55c563405024f708a76ef576c3b276" + "reference": "6f40fdee35a0b7a5cfb616daececb415d4c1f75f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stackphp/builder/zipball/c1f8a4693b55c563405024f708a76ef576c3b276", - "reference": "c1f8a4693b55c563405024f708a76ef576c3b276", + "url": "https://api.github.com/repos/stackphp/builder/zipball/6f40fdee35a0b7a5cfb616daececb415d4c1f75f", + "reference": "6f40fdee35a0b7a5cfb616daececb415d4c1f75f", "shasum": "" }, "require": { "php": ">=5.3.0", - "symfony/http-foundation": "~2.1", - "symfony/http-kernel": "~2.1" + "symfony/http-foundation": "~2.1|~3.0", + "symfony/http-kernel": "~2.1|~3.0" }, "require-dev": { "silex/silex": "~1.0" @@ -1136,40 +1094,42 @@ "keywords": [ "stack" ], - "time": "2014-11-23 20:37:11" + "time": "2016-01-24 16:24:27" }, { "name": "symfony-cmf/routing", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/symfony-cmf/Routing.git", - "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6" + "reference": "b93704ca098334f56e9b317932f21a4362e620db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/8e87981d72c6930a27585dcd3119f3199f6cb2a6", - "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6", + "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/b93704ca098334f56e9b317932f21a4362e620db", + "reference": "b93704ca098334f56e9b317932f21a4362e620db", "shasum": "" }, "require": { - "php": ">=5.3.3", - "psr/log": "~1.0", - "symfony/http-kernel": "~2.2", - "symfony/routing": "~2.2" + "php": "^5.3.9|^7.0", + "psr/log": "1.*", + "symfony/http-kernel": "^2.2|3.*", + "symfony/routing": "^2.2|3.*" }, "require-dev": { - "symfony/config": "~2.2", - "symfony/dependency-injection": "~2.0@stable", - "symfony/event-dispatcher": "~2.1" + "friendsofsymfony/jsrouting-bundle": "^1.1", + "symfony-cmf/testing": "^1.3", + "symfony/config": "^2.2|3.*", + "symfony/dependency-injection": "^2.0.5|3.*", + "symfony/event-dispatcher": "^2.1|3.*" }, "suggest": { - "symfony/event-dispatcher": "DynamicRouter can optionally trigger an event at the start of matching. Minimal version ~2.1" + "symfony/event-dispatcher": "DynamicRouter can optionally trigger an event at the start of matching. Minimal version (~2.1)" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -1193,33 +1153,36 @@ "database", "routing" ], - "time": "2014-10-20 20:55:17" + "time": "2016-03-31 09:11:39" }, { "name": "symfony/class-loader", - "version": "v2.8.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/class-loader.git", - "reference": "7d362c22710980730d46a5d039e788946a2938cb" + "reference": "cbb7e6a9c0213a0cffa5d9065ee8214ca4e83877" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/class-loader/zipball/7d362c22710980730d46a5d039e788946a2938cb", - "reference": "7d362c22710980730d46a5d039e788946a2938cb", + "url": "https://api.github.com/repos/symfony/class-loader/zipball/cbb7e6a9c0213a0cffa5d9065ee8214ca4e83877", + "reference": "cbb7e6a9c0213a0cffa5d9065ee8214ca4e83877", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/polyfill-apcu": "~1.1" + "php": ">=5.5.9" }, "require-dev": { - "symfony/finder": "~2.0,>=2.0.5|~3.0.0" + "symfony/finder": "~2.8|~3.0", + "symfony/polyfill-apcu": "~1.1" + }, + "suggest": { + "symfony/polyfill-apcu": "For using ApcClassLoader on HHVM" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1246,30 +1209,30 @@ ], "description": "Symfony ClassLoader Component", "homepage": "https://symfony.com", - "time": "2016-03-10 19:33:53" + "time": "2016-03-30 10:41:14" }, { "name": "symfony/console", - "version": "v2.8.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "9a5aef5fc0d4eff86853d44202b02be8d5a20154" + "reference": "34a214710e0714b6efcf40ba3cd1e31373a97820" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/9a5aef5fc0d4eff86853d44202b02be8d5a20154", - "reference": "9a5aef5fc0d4eff86853d44202b02be8d5a20154", + "url": "https://api.github.com/repos/symfony/console/zipball/34a214710e0714b6efcf40ba3cd1e31373a97820", + "reference": "34a214710e0714b6efcf40ba3cd1e31373a97820", "shasum": "" }, "require": { - "php": ">=5.3.9", + "php": ">=5.5.9", "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1|~3.0.0", - "symfony/process": "~2.1|~3.0.0" + "symfony/event-dispatcher": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0" }, "suggest": { "psr/log": "For using the console logger", @@ -1279,7 +1242,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1306,43 +1269,46 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2016-03-17 09:19:04" + "time": "2016-04-28 09:48:42" }, { "name": "symfony/debug", - "version": "v2.7.6", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "fb9e6887db716939f41af0ba8ef38a1582eb501b" + "reference": "a06d10888a45afd97534506afb058ec38d9ba35b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/fb9e6887db716939f41af0ba8ef38a1582eb501b", - "reference": "fb9e6887db716939f41af0ba8ef38a1582eb501b", + "url": "https://api.github.com/repos/symfony/debug/zipball/a06d10888a45afd97534506afb058ec38d9ba35b", + "reference": "a06d10888a45afd97534506afb058ec38d9ba35b", "shasum": "" }, "require": { - "php": ">=5.3.9", + "php": ">=5.5.9", "psr/log": "~1.0" }, "conflict": { "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" }, "require-dev": { - "symfony/class-loader": "~2.2", - "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2" + "symfony/class-loader": "~2.8|~3.0", + "symfony/http-kernel": "~2.8|~3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\Debug\\": "" - } + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1360,32 +1326,29 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2015-10-11 09:39:48" + "time": "2016-03-30 10:41:14" }, { "name": "symfony/dependency-injection", - "version": "v2.8.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "f7b4a498e679fa440b16facb934680a1527ed48c" + "reference": "4973244b171257b987332386405b0f393230de52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f7b4a498e679fa440b16facb934680a1527ed48c", - "reference": "f7b4a498e679fa440b16facb934680a1527ed48c", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/4973244b171257b987332386405b0f393230de52", + "reference": "4973244b171257b987332386405b0f393230de52", "shasum": "" }, "require": { - "php": ">=5.3.9" - }, - "conflict": { - "symfony/expression-language": "<2.6" + "php": ">=5.5.9" }, "require-dev": { - "symfony/config": "~2.2|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/yaml": "~2.1|~3.0.0" + "symfony/config": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" }, "suggest": { "symfony/config": "", @@ -1395,7 +1358,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1422,31 +1385,31 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2016-03-21 07:27:21" + "time": "2016-04-25 11:17:47" }, { "name": "symfony/event-dispatcher", - "version": "v2.8.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "47d2d8cade9b1c3987573d2943bb9352536cdb87" + "reference": "17b04e6b1ede45b57d3ad5146abe50df6c3968b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/47d2d8cade9b1c3987573d2943bb9352536cdb87", - "reference": "47d2d8cade9b1c3987573d2943bb9352536cdb87", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/17b04e6b1ede45b57d3ad5146abe50df6c3968b4", + "reference": "17b04e6b1ede45b57d3ad5146abe50df6c3968b4", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~2.0,>=2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.6|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0" + "symfony/config": "~2.8|~3.0", + "symfony/dependency-injection": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/stopwatch": "~2.8|~3.0" }, "suggest": { "symfony/dependency-injection": "", @@ -1455,7 +1418,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1482,35 +1445,33 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2016-03-07 14:04:32" + "time": "2016-04-12 18:09:53" }, { "name": "symfony/http-foundation", - "version": "v2.8.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "06d6b2c755b2f34ce21e688b62072e9c625709c4" + "reference": "18b24bc32d2495ae79d76e777368786a6536fe31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/06d6b2c755b2f34ce21e688b62072e9c625709c4", - "reference": "06d6b2c755b2f34ce21e688b62072e9c625709c4", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/18b24bc32d2495ae79d76e777368786a6536fe31", + "reference": "18b24bc32d2495ae79d76e777368786a6536fe31", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php54": "~1.0", - "symfony/polyfill-php55": "~1.0" + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.1" }, "require-dev": { - "symfony/expression-language": "~2.4|~3.0.0" + "symfony/expression-language": "~2.8|~3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1537,48 +1498,48 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2016-03-27 12:57:53" + "time": "2016-04-12 18:09:53" }, { "name": "symfony/http-kernel", - "version": "v2.8.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "2c45576fee2eb228d4771342a05b0565e4711ba2" + "reference": "1aa25588241f915cf176b7c371e5d629dfff8b43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2c45576fee2eb228d4771342a05b0565e4711ba2", - "reference": "2c45576fee2eb228d4771342a05b0565e4711ba2", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1aa25588241f915cf176b7c371e5d629dfff8b43", + "reference": "1aa25588241f915cf176b7c371e5d629dfff8b43", "shasum": "" }, "require": { - "php": ">=5.3.9", + "php": ">=5.5.9", "psr/log": "~1.0", - "symfony/debug": "~2.6,>=2.6.2", - "symfony/event-dispatcher": "~2.6,>=2.6.7|~3.0.0", - "symfony/http-foundation": "~2.5,>=2.5.4|~3.0.0" + "symfony/debug": "~2.8|~3.0", + "symfony/event-dispatcher": "~2.8|~3.0", + "symfony/http-foundation": "~2.8|~3.0" }, "conflict": { - "symfony/config": "<2.7" + "symfony/config": "<2.8" }, "require-dev": { - "symfony/browser-kit": "~2.3|~3.0.0", - "symfony/class-loader": "~2.1|~3.0.0", - "symfony/config": "~2.8", - "symfony/console": "~2.3|~3.0.0", - "symfony/css-selector": "~2.0,>=2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.8|~3.0.0", - "symfony/dom-crawler": "~2.0,>=2.0.5|~3.0.0", - "symfony/expression-language": "~2.4|~3.0.0", - "symfony/finder": "~2.0,>=2.0.5|~3.0.0", - "symfony/process": "~2.0,>=2.0.5|~3.0.0", - "symfony/routing": "~2.8|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0", - "symfony/templating": "~2.2|~3.0.0", - "symfony/translation": "~2.0,>=2.0.5|~3.0.0", - "symfony/var-dumper": "~2.6|~3.0.0" + "symfony/browser-kit": "~2.8|~3.0", + "symfony/class-loader": "~2.8|~3.0", + "symfony/config": "~2.8|~3.0", + "symfony/console": "~2.8|~3.0", + "symfony/css-selector": "~2.8|~3.0", + "symfony/dependency-injection": "~2.8|~3.0", + "symfony/dom-crawler": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/finder": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0", + "symfony/routing": "~2.8|~3.0", + "symfony/stopwatch": "~2.8|~3.0", + "symfony/templating": "~2.8|~3.0", + "symfony/translation": "~2.8|~3.0", + "symfony/var-dumper": "~2.8|~3.0" }, "suggest": { "symfony/browser-kit": "", @@ -1592,7 +1553,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1619,60 +1580,7 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2016-03-25 01:40:30" - }, - { - "name": "symfony/polyfill-apcu", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-apcu.git", - "reference": "0c901e4e65a2f7ece68f0fd249b56d6ad3adc214" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/0c901e4e65a2f7ece68f0fd249b56d6ad3adc214", - "reference": "0c901e4e65a2f7ece68f0fd249b56d6ad3adc214", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "apcu", - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2016-03-03 16:49:40" + "time": "2016-05-03 05:58:27" }, { "name": "symfony/polyfill-iconv", @@ -1735,7 +1643,7 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.1.0", + "version": "v1.1.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", @@ -1793,140 +1701,26 @@ "time": "2016-01-20 09:13:37" }, { - "name": "symfony/polyfill-php54", - "version": "v1.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php54.git", - "reference": "74663d5a2ff3c530c1bc0571500e0feec9094054" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/74663d5a2ff3c530c1bc0571500e0feec9094054", - "reference": "74663d5a2ff3c530c1bc0571500e0feec9094054", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php54\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2016-01-20 09:13:37" - }, - { - "name": "symfony/polyfill-php55", - "version": "v1.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php55.git", - "reference": "b4f3f07d91702f8f926339fc4fcf81671d8c27e6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/b4f3f07d91702f8f926339fc4fcf81671d8c27e6", - "reference": "b4f3f07d91702f8f926339fc4fcf81671d8c27e6", - "shasum": "" - }, - "require": { - "ircmaxell/password-compat": "~1.0", - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php55\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2016-01-20 09:13:37" - }, - { "name": "symfony/process", - "version": "v2.8.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "fb467471952ef5cf8497c029980e556b47545333" + "reference": "53f9407c0bb1c5a79127db8f7bfe12f0f6f3dcdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/fb467471952ef5cf8497c029980e556b47545333", - "reference": "fb467471952ef5cf8497c029980e556b47545333", + "url": "https://api.github.com/repos/symfony/process/zipball/53f9407c0bb1c5a79127db8f7bfe12f0f6f3dcdb", + "reference": "53f9407c0bb1c5a79127db8f7bfe12f0f6f3dcdb", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1953,7 +1747,7 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2016-03-23 13:11:46" + "time": "2016-04-14 15:30:28" }, { "name": "symfony/psr-http-message-bridge", @@ -2011,32 +1805,32 @@ }, { "name": "symfony/routing", - "version": "v2.8.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "d7d4a20cb55a90a06c0070d1a360e5ac606306ef" + "reference": "6ab6fd5ee754fb53a303a5621ae35f3afd5970ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/d7d4a20cb55a90a06c0070d1a360e5ac606306ef", - "reference": "d7d4a20cb55a90a06c0070d1a360e5ac606306ef", + "url": "https://api.github.com/repos/symfony/routing/zipball/6ab6fd5ee754fb53a303a5621ae35f3afd5970ac", + "reference": "6ab6fd5ee754fb53a303a5621ae35f3afd5970ac", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9" }, "conflict": { - "symfony/config": "<2.7" + "symfony/config": "<2.8" }, "require-dev": { "doctrine/annotations": "~1.0", "doctrine/common": "~2.2", "psr/log": "~1.0", - "symfony/config": "~2.7|~3.0.0", - "symfony/expression-language": "~2.4|~3.0.0", - "symfony/http-foundation": "~2.3|~3.0.0", - "symfony/yaml": "~2.0,>=2.0.5|~3.0.0" + "symfony/config": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/http-foundation": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" }, "suggest": { "doctrine/annotations": "For using the annotation loader", @@ -2049,7 +1843,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2082,32 +1876,31 @@ "uri", "url" ], - "time": "2016-03-23 13:11:46" + "time": "2016-04-28 09:48:42" }, { "name": "symfony/serializer", - "version": "v2.8.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "e848750ceffdc4af374844c338c299627a98196a" + "reference": "0baa37547c48bae63c538e456134869d29bdb1c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/e848750ceffdc4af374844c338c299627a98196a", - "reference": "e848750ceffdc4af374844c338c299627a98196a", + "url": "https://api.github.com/repos/symfony/serializer/zipball/0baa37547c48bae63c538e456134869d29bdb1c3", + "reference": "0baa37547c48bae63c538e456134869d29bdb1c3", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/polyfill-php55": "~1.0" + "php": ">=5.5.9" }, "require-dev": { "doctrine/annotations": "~1.0", "doctrine/cache": "~1.0", - "symfony/config": "~2.2|~3.0.0", - "symfony/property-access": "~2.3|~3.0.0", - "symfony/yaml": "~2.0,>=2.0.5|~3.0.0" + "symfony/config": "~2.8|~3.0", + "symfony/property-access": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" }, "suggest": { "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", @@ -2119,7 +1912,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2146,34 +1939,34 @@ ], "description": "Symfony Serializer Component", "homepage": "https://symfony.com", - "time": "2016-03-07 14:04:32" + "time": "2016-04-20 18:53:54" }, { "name": "symfony/translation", - "version": "v2.8.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "d60b8e076d22953aabebeebda53bf334438e7aca" + "reference": "f7a07af51ea067745a521dab1e3152044a2fb1f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/d60b8e076d22953aabebeebda53bf334438e7aca", - "reference": "d60b8e076d22953aabebeebda53bf334438e7aca", + "url": "https://api.github.com/repos/symfony/translation/zipball/f7a07af51ea067745a521dab1e3152044a2fb1f2", + "reference": "f7a07af51ea067745a521dab1e3152044a2fb1f2", "shasum": "" }, "require": { - "php": ">=5.3.9", + "php": ">=5.5.9", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/config": "<2.7" + "symfony/config": "<2.8" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~2.8", - "symfony/intl": "~2.4|~3.0.0", - "symfony/yaml": "~2.2|~3.0.0" + "symfony/config": "~2.8|~3.0", + "symfony/intl": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" }, "suggest": { "psr/log": "To use logging capability in translator", @@ -2183,7 +1976,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2210,52 +2003,52 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2016-03-25 01:40:30" + "time": "2016-03-25 01:41:20" }, { "name": "symfony/validator", - "version": "v2.8.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "ea0ce99531c9eb82abf21011da4e111932f8ce81" + "reference": "dbf5925e3a53c2df3f711a8ef9d200b6dfef34c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/ea0ce99531c9eb82abf21011da4e111932f8ce81", - "reference": "ea0ce99531c9eb82abf21011da4e111932f8ce81", + "url": "https://api.github.com/repos/symfony/validator/zipball/dbf5925e3a53c2df3f711a8ef9d200b6dfef34c0", + "reference": "dbf5925e3a53c2df3f711a8ef9d200b6dfef34c0", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/translation": "~2.4|~3.0.0" + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation": "~2.8|~3.0" }, "require-dev": { "doctrine/annotations": "~1.0", "doctrine/cache": "~1.0", "egulias/email-validator": "~1.2,>=1.2.1", - "symfony/config": "~2.2|~3.0.0", - "symfony/expression-language": "~2.4|~3.0.0", - "symfony/http-foundation": "~2.1|~3.0.0", - "symfony/intl": "~2.7.4|~2.8|~3.0.0", - "symfony/property-access": "~2.3|~3.0.0", - "symfony/yaml": "~2.0,>=2.0.5|~3.0.0" + "symfony/config": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/http-foundation": "~2.8|~3.0", + "symfony/intl": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" }, "suggest": { "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", "doctrine/cache": "For using the default cached annotation reader and metadata cache.", "egulias/email-validator": "Strict (RFC compliant) email validation", "symfony/config": "", - "symfony/expression-language": "For using the 2.4 Expression validator", + "symfony/expression-language": "For using the Expression validator", "symfony/http-foundation": "", "symfony/intl": "", - "symfony/property-access": "For using the 2.4 Validator API", + "symfony/property-access": "For using the Expression validator", "symfony/yaml": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2282,29 +2075,29 @@ ], "description": "Symfony Validator Component", "homepage": "https://symfony.com", - "time": "2016-03-27 12:57:53" + "time": "2016-04-20 11:35:44" }, { "name": "symfony/yaml", - "version": "v2.8.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "584e52cb8f788a887553ba82db6caacb1d6260bb" + "reference": "0047c8366744a16de7516622c5b7355336afae96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/584e52cb8f788a887553ba82db6caacb1d6260bb", - "reference": "584e52cb8f788a887553ba82db6caacb1d6260bb", + "url": "https://api.github.com/repos/symfony/yaml/zipball/0047c8366744a16de7516622c5b7355336afae96", + "reference": "0047c8366744a16de7516622c5b7355336afae96", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2331,7 +2124,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2016-03-04 07:54:35" + "time": "2016-03-04 07:55:57" }, { "name": "twig/twig", @@ -2985,6 +2778,48 @@ "time": "2015-11-05 12:58:44" }, { + "name": "ircmaxell/password-compat", + "version": "v1.0.4", + "source": { + "type": "git", + "url": "https://github.com/ircmaxell/password_compat.git", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "autoload": { + "files": [ + "lib/password.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anthony Ferrara", + "email": "ircmaxell@php.net", + "homepage": "http://blog.ircmaxell.com" + } + ], + "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", + "homepage": "https://github.com/ircmaxell/password_compat", + "keywords": [ + "hashing", + "password" + ], + "time": "2014-11-20 16:49:30" + }, + { "name": "jcalderonzumba/gastonjs", "version": "v1.0.2", "source": { @@ -3998,25 +3833,25 @@ }, { "name": "symfony/browser-kit", - "version": "v2.7.6", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "07d664a052572ccc28eb2ab7dbbe82155b1ad367" + "reference": "e07127ac31230b30887c2dddf3708d883d239b14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/07d664a052572ccc28eb2ab7dbbe82155b1ad367", - "reference": "07d664a052572ccc28eb2ab7dbbe82155b1ad367", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/e07127ac31230b30887c2dddf3708d883d239b14", + "reference": "e07127ac31230b30887c2dddf3708d883d239b14", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/dom-crawler": "~2.0,>=2.0.5" + "php": ">=5.5.9", + "symfony/dom-crawler": "~2.8|~3.0" }, "require-dev": { - "symfony/css-selector": "~2.0,>=2.0.5", - "symfony/process": "~2.3.34|~2.7,>=2.7.6" + "symfony/css-selector": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0" }, "suggest": { "symfony/process": "" @@ -4024,13 +3859,16 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\BrowserKit\\": "" - } + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4048,29 +3886,29 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2015-10-23 14:47:27" + "time": "2016-03-04 07:55:57" }, { "name": "symfony/css-selector", - "version": "v2.8.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "07b7ced3ae0c12918477c095453ea8595000810e" + "reference": "65e764f404685f2dc20c057e889b3ad04b2e2db0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/07b7ced3ae0c12918477c095453ea8595000810e", - "reference": "07b7ced3ae0c12918477c095453ea8595000810e", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/65e764f404685f2dc20c057e889b3ad04b2e2db0", + "reference": "65e764f404685f2dc20c057e889b3ad04b2e2db0", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -4101,27 +3939,28 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2016-03-04 07:54:35" + "time": "2016-03-04 07:55:57" }, { "name": "symfony/dom-crawler", - "version": "v2.7.6", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "5fef7d8b80d8f9992df99d8ee283f420484c9612" + "reference": "49b588841225b205700e5122fa01911cabada857" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/5fef7d8b80d8f9992df99d8ee283f420484c9612", - "reference": "5fef7d8b80d8f9992df99d8ee283f420484c9612", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/49b588841225b205700e5122fa01911cabada857", + "reference": "49b588841225b205700e5122fa01911cabada857", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "symfony/css-selector": "~2.3" + "symfony/css-selector": "~2.8|~3.0" }, "suggest": { "symfony/css-selector": "" @@ -4129,13 +3968,16 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\DomCrawler\\": "" - } + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4153,12 +3995,14 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2015-10-11 09:39:48" + "time": "2016-04-12 18:09:53" } ], "aliases": [], "minimum-stability": "dev", - "stability-flags": [], + "stability-flags": { + "stack/builder": 20 + }, "prefer-stable": true, "prefer-lowest": false, "platform": { diff --git a/core/composer.json b/core/composer.json index 9e68eaa..879887f 100644 --- a/core/composer.json +++ b/core/composer.json @@ -5,27 +5,27 @@ "license": "GPL-2.0+", "require": { "php": ">=5.5.9", - "symfony/class-loader": "~2.8", - "symfony/console": "~2.8", - "symfony/dependency-injection": "~2.8", - "symfony/event-dispatcher": "~2.8", - "symfony/http-foundation": "~2.8", - "symfony/http-kernel": "~2.8", - "symfony/routing": "~2.8", - "symfony/serializer": "~2.8", - "symfony/translation": "~2.8", - "symfony/validator": "~2.8", - "symfony/process": "~2.8", + "symfony/class-loader": "~3.0", + "symfony/console": "~3.0", + "symfony/dependency-injection": "~3.0", + "symfony/event-dispatcher": "~3.0", + "symfony/http-foundation": "~3.0", + "symfony/http-kernel": "~3.0", + "symfony/routing": "~3.0", + "symfony/serializer": "~3.0", + "symfony/translation": "~3.0", + "symfony/validator": "~3.0", + "symfony/process": "~3.0", "symfony/polyfill-iconv": "~1.0", - "symfony/yaml": "~2.8", + "symfony/yaml": "~3.0", "twig/twig": "^1.23.1", "doctrine/common": "2.5.*", "doctrine/annotations": "1.2.*", "guzzlehttp/guzzle": "~6.1", - "symfony-cmf/routing": "1.3.*", + "symfony-cmf/routing": "~1.4", "easyrdf/easyrdf": "0.9.*", "zendframework/zend-feed": "~2.4", - "stack/builder": "1.0.*", + "stack/builder": "dev-master", "egulias/email-validator": "1.2.*", "masterminds/html5": "~2.1", "symfony/psr-http-message-bridge": "v0.2", @@ -40,7 +40,7 @@ "jcalderonzumba/mink-phantomjs-driver": "~0.3.1", "mikey179/vfsStream": "~1.2", "phpunit/phpunit": "~4.8", - "symfony/css-selector": "~2.8" + "symfony/css-selector": "~3.0" }, "replace": { "drupal/action": "self.version", diff --git a/core/lib/Drupal/Component/DependencyInjection/Container.php b/core/lib/Drupal/Component/DependencyInjection/Container.php index 733490c..58c7d43 100644 --- a/core/lib/Drupal/Component/DependencyInjection/Container.php +++ b/core/lib/Drupal/Component/DependencyInjection/Container.php @@ -3,9 +3,7 @@ namespace Drupal\Component\DependencyInjection; use Symfony\Component\DependencyInjection\ContainerInterface; -use Symfony\Component\DependencyInjection\IntrospectableContainerInterface; use Symfony\Component\DependencyInjection\ResettableContainerInterface; -use Symfony\Component\DependencyInjection\ScopeInterface; use Symfony\Component\DependencyInjection\Exception\LogicException; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; use Symfony\Component\DependencyInjection\Exception\RuntimeException; @@ -50,7 +48,7 @@ * * @ingroup container */ -class Container implements IntrospectableContainerInterface, ResettableContainerInterface { +class Container implements ContainerInterface, ResettableContainerInterface { /** * The parameters of the container. @@ -361,11 +359,7 @@ protected function createService(array $definition, $id) { /** * {@inheritdoc} */ - public function set($id, $service, $scope = ContainerInterface::SCOPE_CONTAINER) { - if (!in_array($scope, array('container', 'request')) || ('request' === $scope && 'request' !== $id)) { - @trigger_error('The concept of container scopes is deprecated since version 2.8 and will be removed in 3.0. Omit the third parameter.', E_USER_DEPRECATED); - } - + public function set($id, $service) { $this->services[$id] = $service; } @@ -587,61 +581,6 @@ protected function getParameterAlternatives($name) { return $this->getAlternatives($name, array_keys($this->parameters)); } - - /** - * {@inheritdoc} - */ - public function enterScope($name) { - if ('request' !== $name) { - @trigger_error('The ' . __METHOD__ . ' method is deprecated since version 2.8 and will be removed in 3.0.', E_USER_DEPRECATED); - } - - throw new \BadMethodCallException(sprintf("'%s' is not supported by Drupal 8.", __FUNCTION__)); - } - - /** - * {@inheritdoc} - */ - public function leaveScope($name) { - if ('request' !== $name) { - @trigger_error('The ' . __METHOD__ . ' method is deprecated since version 2.8 and will be removed in 3.0.', E_USER_DEPRECATED); - } - - throw new \BadMethodCallException(sprintf("'%s' is not supported by Drupal 8.", __FUNCTION__)); - } - - /** - * {@inheritdoc} - */ - public function addScope(ScopeInterface $scope) { - - $name = $scope->getName(); - if ('request' !== $name) { - @trigger_error('The ' . __METHOD__ . ' method is deprecated since version 2.8 and will be removed in 3.0.', E_USER_DEPRECATED); - } - throw new \BadMethodCallException(sprintf("'%s' is not supported by Drupal 8.", __FUNCTION__)); - } - - /** - * {@inheritdoc} - */ - public function hasScope($name) { - if ('request' !== $name) { - @trigger_error('The ' . __METHOD__ . ' method is deprecated since version 2.8 and will be removed in 3.0.', E_USER_DEPRECATED); - } - - throw new \BadMethodCallException(sprintf("'%s' is not supported by Drupal 8.", __FUNCTION__)); - } - - /** - * {@inheritdoc} - */ - public function isScopeActive($name) { - @trigger_error('The ' . __METHOD__ . ' method is deprecated since version 2.8 and will be removed in 3.0.', E_USER_DEPRECATED); - - throw new \BadMethodCallException(sprintf("'%s' is not supported by Drupal 8.", __FUNCTION__)); - } - /** * Gets all defined service IDs. * diff --git a/core/lib/Drupal/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumper.php b/core/lib/Drupal/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumper.php index d52fb89..5ab9ce6 100644 --- a/core/lib/Drupal/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumper.php +++ b/core/lib/Drupal/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumper.php @@ -235,18 +235,6 @@ protected function getServiceDefinition(Definition $definition) { $service['calls'] = $this->dumpMethodCalls($definition->getMethodCalls()); } - if (($scope = $definition->getScope()) !== ContainerInterface::SCOPE_CONTAINER) { - if ($scope === ContainerInterface::SCOPE_PROTOTYPE) { - // Scope prototype has been replaced with 'shared' => FALSE. - // This is a Symfony 2.8 forward compatibility fix. - // Reference: https://github.com/symfony/symfony/blob/2.8/UPGRADE-2.8.md#dependencyinjection - $service['shared'] = FALSE; - } - else { - throw new InvalidArgumentException("The 'scope' definition is deprecated in Symfony 3.0 and not supported by Drupal 8."); - } - } - // By default services are shared, so just provide the flag, when needed. if ($definition->isShared() === FALSE) { $service['shared'] = $definition->isShared(); diff --git a/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php b/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php index 85df62e..b646dd5 100644 --- a/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php +++ b/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php @@ -2,7 +2,7 @@ namespace Drupal\Component\EventDispatcher; -use Symfony\Component\DependencyInjection\IntrospectableContainerInterface; +use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\EventDispatcher\Event; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; @@ -36,7 +36,7 @@ class ContainerAwareEventDispatcher implements EventDispatcherInterface { /** * The service container. * - * @var \Symfony\Component\DependencyInjection\IntrospectableContainerInterface; + * @var \Symfony\Component\DependencyInjection\ContainerInterface; */ protected $container; @@ -66,7 +66,7 @@ class ContainerAwareEventDispatcher implements EventDispatcherInterface { /** * Constructs a container aware event dispatcher. * - * @param \Symfony\Component\DependencyInjection\IntrospectableContainerInterface $container + * @param \Symfony\Component\DependencyInjection\ContainerInterface $container * The service container. * @param array $listeners * A nested array of listener definitions keyed by event name and priority. @@ -77,7 +77,7 @@ class ContainerAwareEventDispatcher implements EventDispatcherInterface { * A service entry will be resolved to a callable only just before its * invocation. */ - public function __construct(IntrospectableContainerInterface $container, array $listeners = []) { + public function __construct(ContainerInterface $container, array $listeners = []) { $this->container = $container; $this->listeners = $listeners; $this->unsorted = []; @@ -91,9 +91,6 @@ public function dispatch($event_name, Event $event = NULL) { $event = new Event(); } - $event->setDispatcher($this); - $event->setName($event_name); - if (isset($this->listeners[$event_name])) { // Sort listeners if necessary. if (isset($this->unsorted[$event_name])) { @@ -159,6 +156,19 @@ public function getListeners($event_name = NULL) { /** * {@inheritdoc} */ + public function getListenerPriority($eventName, $listener) { + if (isset($this->listeners[$eventName])) { + foreach ($this->listeners[$eventName] as $priority => $listeners) { + if (($key = array_search($listener, $listeners, TRUE)) !== FALSE) { + return $priority; + } + } + } + } + + /** + * {@inheritdoc} + */ public function hasListeners($event_name = NULL) { return (bool) count($this->getListeners($event_name)); } diff --git a/core/lib/Drupal/Core/Access/CheckProvider.php b/core/lib/Drupal/Core/Access/CheckProvider.php index 1587419..3d37e65 100644 --- a/core/lib/Drupal/Core/Access/CheckProvider.php +++ b/core/lib/Drupal/Core/Access/CheckProvider.php @@ -3,14 +3,16 @@ namespace Drupal\Core\Access; use Drupal\Core\Routing\Access\AccessInterface; -use Symfony\Component\DependencyInjection\ContainerAware; +use Symfony\Component\DependencyInjection\ContainerAwareTrait; use Symfony\Component\Routing\Route; use Symfony\Component\Routing\RouteCollection; /** * Loads access checkers from the container. */ -class CheckProvider extends ContainerAware implements CheckProviderInterface { +class CheckProvider implements CheckProviderInterface { + + use ContainerAwareTrait; /** * Array of registered access check service ids. diff --git a/core/lib/Drupal/Core/Cache/Context/MenuActiveTrailsCacheContext.php b/core/lib/Drupal/Core/Cache/Context/MenuActiveTrailsCacheContext.php index 67a40a6..46eeed2 100644 --- a/core/lib/Drupal/Core/Cache/Context/MenuActiveTrailsCacheContext.php +++ b/core/lib/Drupal/Core/Cache/Context/MenuActiveTrailsCacheContext.php @@ -3,7 +3,7 @@ namespace Drupal\Core\Cache\Context; use Drupal\Core\Cache\CacheableMetadata; -use Symfony\Component\DependencyInjection\ContainerAware; +use Symfony\Component\DependencyInjection\ContainerAwareTrait; /** * Defines the MenuActiveTrailsCacheContext service. @@ -11,7 +11,9 @@ * This class is container-aware to avoid initializing the 'menu.active_trails' * service (and its dependencies) when it is not necessary. */ -class MenuActiveTrailsCacheContext extends ContainerAware implements CalculatedCacheContextInterface { +class MenuActiveTrailsCacheContext implements CalculatedCacheContextInterface { + + use ContainerAwareTrait; /** * {@inheritdoc} diff --git a/core/lib/Drupal/Core/DependencyInjection/Container.php b/core/lib/Drupal/Core/DependencyInjection/Container.php index 47b4297..4901d13 100644 --- a/core/lib/Drupal/Core/DependencyInjection/Container.php +++ b/core/lib/Drupal/Core/DependencyInjection/Container.php @@ -3,7 +3,6 @@ namespace Drupal\Core\DependencyInjection; use Drupal\Component\DependencyInjection\Container as DrupalContainer; -use Symfony\Component\DependencyInjection\ContainerInterface; /** * Extends the Drupal container to set the service ID on the created object. @@ -13,8 +12,8 @@ class Container extends DrupalContainer { /** * {@inheritdoc} */ - public function set($id, $service, $scope = ContainerInterface::SCOPE_CONTAINER) { - parent::set($id, $service, $scope); + public function set($id, $service) { + parent::set($id, $service); // Ensure that the _serviceId property is set on synthetic services as well. if (isset($this->services[$id]) && is_object($this->services[$id]) && !isset($this->services[$id]->_serviceId)) { diff --git a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php index df8203d..8495b77 100644 --- a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php +++ b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php @@ -102,16 +102,6 @@ public function createService(Definition $definition, $id, $tryProxy = true) @trigger_error(sprintf('The "%s" service relies on the deprecated "%s" factory class. It should either be deprecated or its factory upgraded.', $id, $r->name), E_USER_DEPRECATED); } } - } elseif (null !== $definition->getFactoryMethod(false)) { - if (null !== $definition->getFactoryClass(false)) { - $factory = $parameterBag->resolveValue($definition->getFactoryClass(false)); - } elseif (null !== $definition->getFactoryService(false)) { - $factory = $this->get($parameterBag->resolveValue($definition->getFactoryService(false))); - } else { - throw new RuntimeException(sprintf('Cannot create service "%s" from factory method without a factory service or factory class.', $id)); - } - - $service = call_user_func_array(array($factory, $definition->getFactoryMethod(false)), $arguments); } else { $r = new \ReflectionClass($parameterBag->resolveValue($definition->getClass())); @@ -173,20 +163,16 @@ private function getProxyInstantiator() } /** - * Direct copy of the parent function. + * Shares a given service in the container. + * + * @param Definition $definition + * @param mixed $service + * @param string $id */ protected function shareService(Definition $definition, $service, $id) { - if ($definition->isShared() && self::SCOPE_PROTOTYPE !== $scope = $definition->getScope(false)) { - if (self::SCOPE_CONTAINER !== $scope && !isset($this->scopedServices[$scope])) { - throw new InactiveScopeException($id, $scope); - } - + if ($definition->isShared()) { $this->services[$lowerId = strtolower($id)] = $service; - - if (self::SCOPE_CONTAINER !== $scope) { - $this->scopedServices[$scope][$lowerId] = $service; - } } } @@ -201,11 +187,11 @@ protected function shareService(Definition $definition, $service, $id) * ContainerBuilder class should be fixed to allow setting synthetic * services in a frozen builder. */ - public function set($id, $service, $scope = self::SCOPE_CONTAINER) { + public function set($id, $service) { if (strtolower($id) !== $id) { throw new \InvalidArgumentException("Service ID names must be lowercase: $id"); } - SymfonyContainer::set($id, $service, $scope); + SymfonyContainer::set($id, $service); // Ensure that the _serviceId property is set on synthetic services as well. if (isset($this->services[$id]) && is_object($this->services[$id]) && !isset($this->services[$id]->_serviceId)) { diff --git a/core/lib/Drupal/Core/StreamWrapper/StreamWrapperManager.php b/core/lib/Drupal/Core/StreamWrapper/StreamWrapperManager.php index 8b9ee4e..46888b4 100644 --- a/core/lib/Drupal/Core/StreamWrapper/StreamWrapperManager.php +++ b/core/lib/Drupal/Core/StreamWrapper/StreamWrapperManager.php @@ -2,14 +2,16 @@ namespace Drupal\Core\StreamWrapper; -use Symfony\Component\DependencyInjection\ContainerAware; +use Symfony\Component\DependencyInjection\ContainerAwareTrait; /** * Provides a StreamWrapper manager. * * @see \Drupal\Core\StreamWrapper\StreamWrapperInterface */ -class StreamWrapperManager extends ContainerAware implements StreamWrapperManagerInterface { +class StreamWrapperManager implements StreamWrapperManagerInterface { + + use ContainerAwareTrait; /** * Contains stream wrapper info. diff --git a/core/modules/book/src/Cache/BookNavigationCacheContext.php b/core/modules/book/src/Cache/BookNavigationCacheContext.php index 4fe5ec1..97142e5 100644 --- a/core/modules/book/src/Cache/BookNavigationCacheContext.php +++ b/core/modules/book/src/Cache/BookNavigationCacheContext.php @@ -4,7 +4,7 @@ use Drupal\Core\Cache\CacheableMetadata; use Drupal\Core\Cache\Context\CacheContextInterface; -use Symfony\Component\DependencyInjection\ContainerAware; +use Symfony\Component\DependencyInjection\ContainerAwareTrait; use Symfony\Component\HttpFoundation\RequestStack; /** @@ -19,7 +19,9 @@ * This class is container-aware to avoid initializing the 'book.manager' * service when it is not necessary. */ -class BookNavigationCacheContext extends ContainerAware implements CacheContextInterface { +class BookNavigationCacheContext implements CacheContextInterface { + + use ContainerAwareTrait; /** * The request stack. diff --git a/core/modules/simpletest/src/AssertContentTrait.php b/core/modules/simpletest/src/AssertContentTrait.php index 8bbdb57..e8da02c 100644 --- a/core/modules/simpletest/src/AssertContentTrait.php +++ b/core/modules/simpletest/src/AssertContentTrait.php @@ -7,7 +7,7 @@ use Drupal\Component\Utility\SafeMarkup; use Drupal\Component\Utility\Xss; use Drupal\Core\Render\RenderContext; -use Symfony\Component\CssSelector\CssSelector; +use Symfony\Component\CssSelector\CssSelectorConverter; /** * Provides test methods to assert content. @@ -247,7 +247,7 @@ protected function xpath($xpath, array $arguments = []) { * selector to an XPath selector. */ protected function cssSelect($selector) { - return $this->xpath(CssSelector::toXPath($selector)); + return $this->xpath((new CssSelectorConverter())->toXPath($selector)); } /** diff --git a/core/modules/views/src/Tests/Entity/FieldEntityTranslationTest.php b/core/modules/views/src/Tests/Entity/FieldEntityTranslationTest.php index 12c59e4..eed7193 100644 --- a/core/modules/views/src/Tests/Entity/FieldEntityTranslationTest.php +++ b/core/modules/views/src/Tests/Entity/FieldEntityTranslationTest.php @@ -7,7 +7,7 @@ use Drupal\node\Entity\Node; use Drupal\node\Entity\NodeType; use Drupal\views\Tests\ViewTestBase; -use Symfony\Component\CssSelector\CssSelector; +use Symfony\Component\CssSelector\CssSelectorConverter; /** * Tests the rendering of fields (base fields) and their translations. @@ -171,8 +171,8 @@ protected function assertRows($expected = []) { $rows = $this->cssSelect('div.views-row'); foreach ($rows as $row) { $actual[] = [ - 'title' => (string) $row->xpath(CssSelector::toXPath('.views-field-title span.field-content a'))[0], - 'sticky' => (string) $row->xpath(CssSelector::toXPath('.views-field-sticky span.field-content'))[0], + 'title' => (string) $row->xpath((new CssSelectorConverter())->toXPath('.views-field-title span.field-content a'))[0], + 'sticky' => (string) $row->xpath((new CssSelectorConverter())->toXPath('.views-field-sticky span.field-content'))[0], ]; } $this->assertEqual($actual, $expected); diff --git a/core/tests/Drupal/FunctionalJavascriptTests/JavascriptTestBase.php b/core/tests/Drupal/FunctionalJavascriptTests/JavascriptTestBase.php index 9f0f016..60a76cb 100644 --- a/core/tests/Drupal/FunctionalJavascriptTests/JavascriptTestBase.php +++ b/core/tests/Drupal/FunctionalJavascriptTests/JavascriptTestBase.php @@ -3,7 +3,6 @@ namespace Drupal\FunctionalJavascriptTests; use Drupal\Tests\BrowserTestBase; -use Symfony\Component\CssSelector\CssSelector; use Zumba\Mink\Driver\PhantomJSDriver; /** @@ -46,7 +45,7 @@ protected function initMink() { * \Behat\Mink\Element\NodeElement::isVisible() instead. */ protected function assertElementVisible($css_selector, $message = '') { - $this->assertTrue($this->getSession()->getDriver()->isVisible(CssSelector::toXPath($css_selector)), $message); + $this->assertTrue($this->getSession()->getDriver()->isVisible($this->cssSelect($css_selector)), $message); } /** @@ -61,7 +60,7 @@ protected function assertElementVisible($css_selector, $message = '') { * \Behat\Mink\Element\NodeElement::isVisible() instead. */ protected function assertElementNotVisible($css_selector, $message = '') { - $this->assertFalse($this->getSession()->getDriver()->isVisible(CssSelector::toXPath($css_selector)), $message); + $this->assertFalse($this->getSession()->getDriver()->isVisible($this->cssSelect($css_selector)), $message); } /** diff --git a/core/tests/Drupal/Tests/BrowserTestBase.php b/core/tests/Drupal/Tests/BrowserTestBase.php index 19fc913..f07e4fb 100644 --- a/core/tests/Drupal/Tests/BrowserTestBase.php +++ b/core/tests/Drupal/Tests/BrowserTestBase.php @@ -23,7 +23,7 @@ use Drupal\user\Entity\Role; use Drupal\user\Entity\User; use Drupal\user\UserInterface; -use Symfony\Component\CssSelector\CssSelector; +use Symfony\Component\CssSelector\CssSelectorConverter; use Symfony\Component\HttpFoundation\Request; /** @@ -1441,7 +1441,7 @@ protected function drupalUserIsLoggedIn(UserInterface $account) { * Optional message to show alongside the assertion. */ protected function assertElementPresent($css_selector, $message = '') { - $this->assertNotEmpty($this->getSession()->getDriver()->find(CssSelector::toXPath($css_selector)), $message); + $this->assertNotEmpty($this->getSession()->getDriver()->find($this->cssSelect($css_selector)), $message); } /** @@ -1453,7 +1453,7 @@ protected function assertElementPresent($css_selector, $message = '') { * Optional message to show alongside the assertion. */ protected function assertElementNotPresent($css_selector, $message = '') { - $this->assertEmpty($this->getSession()->getDriver()->find(CssSelector::toXPath($css_selector)), $message); + $this->assertEmpty($this->getSession()->getDriver()->find($this->cssSelect($css_selector)), $message); } /** @@ -1463,7 +1463,7 @@ protected function assertElementNotPresent($css_selector, $message = '') { * The CSS selector identifying the element to click. */ protected function click($css_selector) { - $this->getSession()->getDriver()->click(CssSelector::toXPath($css_selector)); + $this->getSession()->getDriver()->click($this->cssSelect($css_selector)); } /** @@ -1523,4 +1523,23 @@ protected function getHtmlOutputHeaders() { return '
Headers:
' . Html::escape(var_export($headers, TRUE)) . '
'; } + /** + * Translates a CSS expression to its XPath equivalent. + * + * The search is relative to the root element (HTML tag normally) of the page. + * + * @param string $selector + * CSS selector to use in the search. + * @param bool $html + * Whether HTML support should be enabled. Disable it for XML documents. + * @param string $prefix + * An optional prefix for the XPath expression. + * + * @return string + * The equivalent XPath of a CSS expression. + */ + protected function cssSelect($selector, $html = TRUE, $prefix = 'descendant-or-self::') { + return (new CssSelectorConverter($html))->toXPath($selector, $prefix); + } + } diff --git a/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php b/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php index c1c6058..add45cf 100644 --- a/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php +++ b/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php @@ -245,7 +245,6 @@ public function getDefinitionsDataProvider() { 'arguments_count' => 0, 'properties' => array(), 'calls' => array(), - 'scope' => ContainerInterface::SCOPE_CONTAINER, 'shared' => TRUE, 'factory' => FALSE, 'configurator' => FALSE, @@ -358,11 +357,6 @@ public function getDefinitionsDataProvider() { ) + $base_service_definition; $service_definitions[] = array( - 'scope' => ContainerInterface::SCOPE_PROTOTYPE, - 'shared' => FALSE, - ) + $base_service_definition; - - $service_definitions[] = array( 'shared' => FALSE, ) + $base_service_definition; @@ -404,7 +398,6 @@ public function getDefinitionsDataProvider() { $definition->getArguments()->willReturn($service_definition['arguments']); $definition->getProperties()->willReturn($service_definition['properties']); $definition->getMethodCalls()->willReturn($service_definition['calls']); - $definition->getScope()->willReturn($service_definition['scope']); $definition->isShared()->willReturn($service_definition['shared']); $definition->getDecoratedService()->willReturn(NULL); $definition->getFactory()->willReturn($service_definition['factory']); @@ -437,9 +430,6 @@ public function getDefinitionsDataProvider() { } } - // Remove any remaining scope. - unset($filtered_service_definition['scope']); - if (isset($filtered_service_definition['public']) && $filtered_service_definition['public'] === FALSE) { $services_provided[] = array( array('foo_service' => $definition->reveal()), @@ -478,22 +468,6 @@ protected function getServiceCall($id, $invalid_behavior = ContainerInterface::E } /** - * Tests that the correct InvalidArgumentException is thrown for getScope(). - * - * @covers ::getServiceDefinition - * - * @expectedException \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException - */ - public function testGetServiceDefinitionWithInvalidScope() { - $bar_definition = new Definition('\stdClass'); - $bar_definition->setScope('foo_scope'); - $services['bar'] = $bar_definition; - - $this->containerBuilder->getDefinitions()->willReturn($services); - $this->dumper->getArray(); - } - - /** * Tests that getDecoratedService() is unsupported. * * Tests that the correct InvalidArgumentException is thrown for diff --git a/core/tests/Drupal/Tests/Core/Controller/ControllerResolverTest.php b/core/tests/Drupal/Tests/Core/Controller/ControllerResolverTest.php index dc8c8d1..ba349c9 100644 --- a/core/tests/Drupal/Tests/Core/Controller/ControllerResolverTest.php +++ b/core/tests/Drupal/Tests/Core/Controller/ControllerResolverTest.php @@ -14,7 +14,7 @@ use Drupal\Core\Routing\RouteMatch; use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Tests\UnitTestCase; -use Symfony\Component\DependencyInjection\ContainerAware; +use Symfony\Component\DependencyInjection\ContainerAwareTrait; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -279,7 +279,8 @@ public function getResult() { return $this->result; } } -class MockContainerAware extends ContainerAware { +class MockContainerAware { + use ContainerAwareTrait; public function getResult() { return 'This is container aware.'; }