diff --git a/composer.lock b/composer.lock index 6bd8088b2d..f0e19bd522 100644 --- a/composer.lock +++ b/composer.lock @@ -2374,73 +2374,6 @@ ], "time": "2020-11-28T11:24:18+00:00" }, - { - "name": "symfony/deprecation-contracts", - "version": "v2.2.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.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": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/master" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-27T10:05:40+00:00" - }, { "name": "symfony/deprecation-contracts", "version": "v2.2.0", @@ -2510,26 +2443,26 @@ }, { "name": "symfony/error-handler", - "version": "v4.4.16", + "version": "v5.2.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "363cca01cabf98e4f1c447b14d0a68617f003613" + "reference": "289008c5be039e39908d33ae0a8ac99be1210bba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/363cca01cabf98e4f1c447b14d0a68617f003613", - "reference": "363cca01cabf98e4f1c447b14d0a68617f003613", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/289008c5be039e39908d33ae0a8ac99be1210bba", + "reference": "289008c5be039e39908d33ae0a8ac99be1210bba", "shasum": "" }, "require": { - "php": ">=7.1.3", - "psr/log": "~1.0", - "symfony/debug": "^4.4.5", + "php": ">=7.2.5", + "psr/log": "^1.0", "symfony/polyfill-php80": "^1.15", "symfony/var-dumper": "^4.4|^5.0" }, "require-dev": { + "symfony/deprecation-contracts": "^2.1", "symfony/http-kernel": "^4.4|^5.0", "symfony/serializer": "^4.4|^5.0" }, @@ -3003,7 +2936,7 @@ "type": "tidelift" } ], - "time": "2020-10-28T05:50:56+00:00" + "time": "2020-11-30T05:54:18+00:00" }, { "name": "symfony/mime", @@ -4436,7 +4369,7 @@ "type": "tidelift" } ], - "time": "2020-10-28T05:25:24+00:00" + "time": "2020-11-28T11:24:18+00:00" }, { "name": "symfony/var-dumper", @@ -4528,31 +4461,35 @@ }, { "name": "symfony/yaml", - "version": "v4.4.16", + "version": "v5.2.0", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "543cb4dbd45ed803f08a9a65f27fb149b5dd20c2" + "reference": "bb73619b2ae5121bbbcd9f191dfd53ded17ae598" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/543cb4dbd45ed803f08a9a65f27fb149b5dd20c2", - "reference": "543cb4dbd45ed803f08a9a65f27fb149b5dd20c2", + "url": "https://api.github.com/repos/symfony/yaml/zipball/bb73619b2ae5121bbbcd9f191dfd53ded17ae598", + "reference": "bb73619b2ae5121bbbcd9f191dfd53ded17ae598", "shasum": "" }, "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/console": "<3.4" + "symfony/console": "<4.4" }, "require-dev": { - "symfony/console": "^3.4|^4.0|^5.0" + "symfony/console": "^4.4|^5.0" }, "suggest": { "symfony/console": "For validating YAML files using the lint command" }, + "bin": [ + "Resources/bin/yaml-lint" + ], "type": "library", "autoload": { "psr-4": { @@ -7838,7 +7775,7 @@ "type": "tidelift" } ], - "time": "2020-10-24T11:50:19+00:00" + "time": "2020-10-28T21:46:03+00:00" }, { "name": "symfony/phpunit-bridge", diff --git a/composer/Metapackage/CoreRecommended/composer.json b/composer/Metapackage/CoreRecommended/composer.json index ee64a7ee25..915b32e9e0 100644 --- a/composer/Metapackage/CoreRecommended/composer.json +++ b/composer/Metapackage/CoreRecommended/composer.json @@ -28,39 +28,41 @@ "pear/pear-core-minimal": "v1.10.10", "pear/pear_exception": "v1.0.1", "psr/container": "1.0.0", + "psr/event-dispatcher": "1.0.0", "psr/http-factory": "1.0.1", "psr/http-message": "1.0.1", "psr/log": "1.1.3", "ralouphie/getallheaders": "3.0.3", "stack/builder": "v1.0.6", "symfony-cmf/routing": "2.3.3", - "symfony/console": "v4.4.16", - "symfony/debug": "v4.4.16", - "symfony/dependency-injection": "v4.4.16", + "symfony/console": "v5.2.0", + "symfony/dependency-injection": "v5.2.0", "symfony/deprecation-contracts": "v2.2.0", - "symfony/error-handler": "v4.4.16", - "symfony/event-dispatcher": "v4.4.16", - "symfony/event-dispatcher-contracts": "v1.1.9", + "symfony/error-handler": "v5.2.0", + "symfony/event-dispatcher": "v5.2.0", + "symfony/event-dispatcher-contracts": "v2.2.0", "symfony/http-client-contracts": "v2.3.1", - "symfony/http-foundation": "v4.4.16", - "symfony/http-kernel": "v4.4.16", + "symfony/http-foundation": "v5.2.0", + "symfony/http-kernel": "v5.2.0", "symfony/mime": "v5.2.0", "symfony/polyfill-ctype": "v1.20.0", "symfony/polyfill-iconv": "v1.20.0", + "symfony/polyfill-intl-grapheme": "v1.20.0", "symfony/polyfill-intl-idn": "v1.20.0", "symfony/polyfill-intl-normalizer": "v1.20.0", "symfony/polyfill-mbstring": "v1.20.0", "symfony/polyfill-php80": "v1.20.0", - "symfony/process": "v4.4.16", + "symfony/process": "v5.2.0", "symfony/psr-http-message-bridge": "v2.0.2", - "symfony/routing": "v4.4.16", - "symfony/serializer": "v4.4.16", + "symfony/routing": "v5.2.0", + "symfony/serializer": "v5.2.0", "symfony/service-contracts": "v2.2.0", - "symfony/translation": "v4.4.16", + "symfony/string": "v5.2.0", + "symfony/translation": "v5.2.0", "symfony/translation-contracts": "v2.3.0", - "symfony/validator": "v4.4.16", + "symfony/validator": "v5.2.0", "symfony/var-dumper": "v5.2.0", - "symfony/yaml": "v4.4.16", + "symfony/yaml": "v5.2.0", "twig/twig": "v2.14.1", "typo3/phar-stream-wrapper": "v3.1.6" } diff --git a/composer/Metapackage/PinnedDevDependencies/composer.json b/composer/Metapackage/PinnedDevDependencies/composer.json index 6f754240fd..e9025fdbdf 100644 --- a/composer/Metapackage/PinnedDevDependencies/composer.json +++ b/composer/Metapackage/PinnedDevDependencies/composer.json @@ -53,12 +53,12 @@ "seld/phar-utils": "1.1.1", "sirbrillig/phpcs-variable-analysis": "v2.9.0", "squizlabs/php_codesniffer": "3.5.8", - "symfony/browser-kit": "v4.4.16", - "symfony/css-selector": "v4.4.16", - "symfony/dom-crawler": "v4.4.16", - "symfony/filesystem": "v4.4.16", - "symfony/finder": "v4.4.16", - "symfony/lock": "v4.4.16", + "symfony/browser-kit": "v5.2.0", + "symfony/css-selector": "v5.2.0", + "symfony/dom-crawler": "v5.2.0", + "symfony/filesystem": "v5.2.0", + "symfony/finder": "v5.2.0", + "symfony/lock": "v5.2.0", "symfony/phpunit-bridge": "v5.2.0", "theseer/tokenizer": "1.2.0", "webmozart/assert": "1.9.1" diff --git a/core/lib/Drupal/Core/CoreServiceProvider.php b/core/lib/Drupal/Core/CoreServiceProvider.php index 55c04b4410..8eb6c04d69 100644 --- a/core/lib/Drupal/Core/CoreServiceProvider.php +++ b/core/lib/Drupal/Core/CoreServiceProvider.php @@ -134,7 +134,6 @@ protected function registerTest(ContainerBuilder $container) { // Add the HTTP request middleware to Guzzle. $container ->register('test.http_client.middleware', 'Drupal\Core\Test\HttpClientMiddleware\TestHttpClientMiddleware') - ->setPublic(TRUE) ->addTag('http_client_middleware'); } diff --git a/core/lib/Drupal/Core/DependencyInjection/Compiler/ProxyServicesPass.php b/core/lib/Drupal/Core/DependencyInjection/Compiler/ProxyServicesPass.php index 44e0837f2b..b37e900f56 100644 --- a/core/lib/Drupal/Core/DependencyInjection/Compiler/ProxyServicesPass.php +++ b/core/lib/Drupal/Core/DependencyInjection/Compiler/ProxyServicesPass.php @@ -28,7 +28,6 @@ public function process(ContainerBuilder $container) { $container->setDefinition($new_service_id, $definition); $container->register($service_id, $proxy_class) - ->setPublic(TRUE) ->setArguments([new Reference('service_container'), $new_service_id]); } else { diff --git a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php index 9f510781fb..dbdc74aca2 100644 --- a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php +++ b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php @@ -88,7 +88,9 @@ public function register($id, $class = null) { if (strtolower($id) !== $id) { throw new \InvalidArgumentException("Service ID names must be lowercase: $id"); } - return parent::register($id, $class); + $definition = parent::register($id, $class); + $definition->setPublic(TRUE); + return $definition; } /** @@ -101,22 +103,6 @@ public function setAlias($alias, $id) { return $alias; } - /** - * {@inheritdoc} - */ - public function setDefinition($id, Definition $definition) { - $definition = parent::setDefinition($id, $definition); - // As of Symfony 3.4 all definitions are private by default. - // \Symfony\Component\DependencyInjection\Compiler\ResolvePrivatesPassOnly - // removes services marked as private from the container even if they are - // also marked as public. Drupal requires services that are public to - // remain in the container and not be removed. - if ($definition->isPublic()) { - $definition->setPrivate(FALSE); - } - return $definition; - } - /** * {@inheritdoc} */ diff --git a/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php b/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php index 6324940dfc..84364aed0c 100644 --- a/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php +++ b/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php @@ -150,8 +150,8 @@ private function parseDefinition($id, $service, $file) if (isset($service['alias'])) { $alias = $this->container->setAlias($id, new Alias($service['alias'])); - if (!array_key_exists('public', $service) || (bool) $service['public']) { - $alias->setPublic(TRUE); + if (array_key_exists('public', $service)) { + $alias->setPublic($service['public']); } if (array_key_exists('deprecated', $service)) { @@ -167,8 +167,6 @@ private function parseDefinition($id, $service, $file) $definition = new Definition(); } - $definition->setPublic(TRUE); - if (isset($service['class'])) { $definition->setClass($service['class']); } @@ -188,6 +186,9 @@ private function parseDefinition($id, $service, $file) if (isset($service['public'])) { $definition->setPublic($service['public']); } + else { + $definition->setPublic(TRUE); + } if (isset($service['abstract'])) { $definition->setAbstract($service['abstract']); diff --git a/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php b/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php index 193741f8e0..1099dd275a 100644 --- a/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php +++ b/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php @@ -82,21 +82,12 @@ public function testSetDefinition() { $container = new ContainerBuilder(); $definition = new Definition(); $service = $container->setDefinition('foo', $definition); - $this->assertTrue($service->isPublic()); - $this->assertFalse($service->isPrivate()); - - // Test a service with public set to false. - $definition = new Definition(); - $definition->setPublic(FALSE); - $service = $container->setDefinition('foo', $definition); $this->assertFalse($service->isPublic()); - $this->assertFalse($service->isPrivate()); + $this->assertTrue($service->isPrivate()); - // Test a service with private set to true. Drupal does not support this. - // We only support using setPublic() to make things not available outside - // the container. + // Test a service with public set to true. $definition = new Definition(); - $definition->setPrivate(TRUE); + $definition->setPublic(TRUE); $service = $container->setDefinition('foo', $definition); $this->assertTrue($service->isPublic()); $this->assertFalse($service->isPrivate()); diff --git a/core/tests/Drupal/Tests/Listeners/DeprecationListenerTrait.php b/core/tests/Drupal/Tests/Listeners/DeprecationListenerTrait.php index 31d4510cde..3f7d9a7122 100644 --- a/core/tests/Drupal/Tests/Listeners/DeprecationListenerTrait.php +++ b/core/tests/Drupal/Tests/Listeners/DeprecationListenerTrait.php @@ -147,7 +147,6 @@ public static function getSkippedDeprecations() { 'Since symfony/http-foundation 5.1: Retrieving a non-string value from "Symfony\Component\HttpFoundation\InputBag::get()" is deprecated, and will throw a "Symfony\Component\HttpFoundation\Exception\BadRequestException" exception in Symfony 6.0, use "Symfony\Component\HttpFoundation\InputBag::all($key)" instead.', 'Since symfony/http-foundation 5.1: Passing a non-string value as 2nd argument to "Symfony\Component\HttpFoundation\InputBag::get()" is deprecated, pass a string or null instead.', 'Since symfony/yaml 5.1: Support for parsing numbers prefixed with 0 as octal numbers. They will be parsed as strings as of 6.0.', - 'Since symfony/dependency-injection 5.2: The "Symfony\Component\DependencyInjection\Definition::setPrivate()" method is deprecated, use "setPublic()" instead.', ]; }