diff --git a/core/core.services.yml b/core/core.services.yml index 8ecaf96c23a..f767c313f09 100644 --- a/core/core.services.yml +++ b/core/core.services.yml @@ -398,6 +398,8 @@ services: context.repository: class: Drupal\Core\Plugin\Context\LazyContextRepository arguments: ['@service_container'] + tags: + - { name: service_id_collector, tag: context_provider } Drupal\Core\Plugin\Context\ContextRepositoryInterface: '@context.repository' Drupal\Component\DependencyInjection\ReverseContainer: arguments: [ '@service_container' ] diff --git a/core/lib/Drupal/Core/CoreServiceProvider.php b/core/lib/Drupal/Core/CoreServiceProvider.php index 37a265f4ec8..67a1337a659 100644 --- a/core/lib/Drupal/Core/CoreServiceProvider.php +++ b/core/lib/Drupal/Core/CoreServiceProvider.php @@ -8,7 +8,6 @@ use Drupal\Core\DependencyInjection\Compiler\AuthenticationProviderPass; use Drupal\Core\DependencyInjection\Compiler\BackendCompilerPass; use Drupal\Core\DependencyInjection\Compiler\CorsCompilerPass; use Drupal\Core\DependencyInjection\Compiler\DeprecatedServicePass; -use Drupal\Core\DependencyInjection\Compiler\ContextProvidersPass; use Drupal\Core\DependencyInjection\Compiler\DevelopmentSettingsPass; use Drupal\Core\DependencyInjection\Compiler\ProxyServicesPass; use Drupal\Core\DependencyInjection\Compiler\StackedKernelPass; @@ -91,7 +90,6 @@ class CoreServiceProvider implements ServiceProviderInterface, ServiceModifierIn // Add the compiler pass that will process the tagged services. $container->addCompilerPass(new ListCacheBinsPass()); $container->addCompilerPass(new CacheContextsPass()); - $container->addCompilerPass(new ContextProvidersPass()); $container->addCompilerPass(new AuthenticationProviderPass()); // Register plugin managers. diff --git a/core/lib/Drupal/Core/DependencyInjection/Compiler/ContextProvidersPass.php b/core/lib/Drupal/Core/DependencyInjection/Compiler/ContextProvidersPass.php index a3579f39217..7df79e5b14d 100644 --- a/core/lib/Drupal/Core/DependencyInjection/Compiler/ContextProvidersPass.php +++ b/core/lib/Drupal/Core/DependencyInjection/Compiler/ContextProvidersPass.php @@ -7,6 +7,12 @@ use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; /** * Adds the context provider service IDs to the context manager. + * + * @deprecated in drupal:10.2.0 and is removed from drupal:11.0.0. The + * context.repository service uses the service_id_collector pattern instead + * so this is no longer needed. + * + * @see https://www.drupal.org/node/3395641 */ class ContextProvidersPass implements CompilerPassInterface {