/**
  * {@inheritdoc}
  */
 public function register(ContainerBuilder $container)
 {
     if (!empty($GLOBALS['conf']['update_service_provider_overrides'])) {
         // Disable the Lock service.
         $container->register('lock', 'Drupal\\Core\\Lock\\NullLockBackend');
         // Prevent config from being accessed via a cache wrapper by removing
         // any existing definition and setting an alias to the actual storage.
         $container->removeDefinition('config.storage');
         $container->setAlias('config.storage', 'config.storage.active');
         $container->register('cache_factory', 'Drupal\\Core\\Cache\\MemoryBackendFactory');
         $container->register('router.builder', 'Drupal\\Core\\Routing\\RouteBuilderStatic');
         $container->register('theme_handler', 'Drupal\\Core\\Extension\\ThemeHandler')->addArgument(new Reference('config.factory'))->addArgument(new Reference('module_handler'))->addArgument(new Reference('state'))->addArgument(new Reference('info_parser'));
     }
 }
 /**
  * {@inheritdoc}
  */
 public function register(ContainerBuilder $container)
 {
     // Inject the special configuration storage for the installer.
     // This special implementation MUST NOT be used anywhere else than the early
     // installer environment.
     $container->register('config.storage', 'Drupal\\Core\\Config\\InstallStorage');
     // Replace services with in-memory implementations.
     $definition = $container->getDefinition('cache_factory');
     $definition->setClass('Drupal\\Core\\Cache\\MemoryBackendFactory');
     $definition->setArguments(array());
     $definition->setMethodCalls(array());
     $container->register('keyvalue', 'Drupal\\Core\\KeyValueStore\\KeyValueMemoryFactory');
     $container->register('keyvalue.expirable', 'Drupal\\Core\\KeyValueStore\\KeyValueNullExpirableFactory');
     // Replace services with no-op implementations.
     $container->register('lock', 'Drupal\\Core\\Lock\\NullLockBackend');
     $container->register('url_generator', 'Drupal\\Core\\Routing\\NullGenerator')->addArgument(new Reference('request_stack'));
     $container->register('router.dumper', 'Drupal\\Core\\Routing\\NullMatcherDumper');
     // Replace the route builder with an empty implementation.
     // @todo Convert installer steps into routes; add an installer.routing.yml.
     $definition = $container->getDefinition('router.builder');
     $definition->setClass('Drupal\\Core\\Installer\\InstallerRouteBuilder');
     // Remove dependencies on Drupal's default session handling.
     $container->removeDefinition('authentication.cookie');
 }