From 23ed78ecb9c294a6259bf18681d3cd33dc1625d0 Mon Sep 17 00:00:00 2001
From: Alex Pott <alex.a.pott@googlemail.com>
Date: Thu, 19 Mar 2015 13:23:04 +0000
Subject: [PATCH] Issue #2454287 by dawehner: Make a couple of services lazy

---
 core/core.services.yml                      | 14 ++++++++++++++
 core/modules/language/language.services.yml |  1 +
 core/modules/node/node.services.yml         |  1 +
 core/modules/views_ui/views_ui.services.yml |  1 +
 4 files changed, 17 insertions(+)

diff --git a/core/core.services.yml b/core/core.services.yml
index 4e42b3ee8784..ca74a8c16909 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -157,6 +157,7 @@ services:
   config.installer:
     class: Drupal\Core\Config\ConfigInstaller
     arguments: ['@config.factory', '@config.storage', '@config.typed', '@config.manager', '@event_dispatcher']
+    lazy: true
   config.storage:
     class: Drupal\Core\Config\CachedStorage
     arguments: ['@config.storage.active', '@cache.config']
@@ -336,16 +337,19 @@ services:
     tags:
       - { name: service_collector, tag: 'module_install.uninstall_validator', call: addUninstallValidator }
     arguments: ['@app.root', '@module_handler', '@kernel']
+    lazy: true
   content_uninstall_validator:
     class: Drupal\Core\Entity\ContentUninstallValidator
     tags:
       - { name: module_install.uninstall_validator }
     arguments: ['@entity.manager', '@string_translation']
+    lazy: true
   field_uninstall_validator:
     class: Drupal\Core\Field\FieldModuleUninstallValidator
     tags:
       - { name: module_install.uninstall_validator }
     arguments: ['@entity.manager', '@string_translation']
+    lazy: true
   theme_handler:
     class: Drupal\Core\Extension\ThemeHandler
     arguments: ['@app.root', '@config.factory', '@module_handler', '@state', '@info_parser', '@logger.channel.default', '@asset.css.collection_optimizer', '@config.installer', '@config.manager', '@router.builder']
@@ -438,6 +442,7 @@ services:
     tags:
       - { name: paramconverter }
     arguments: ['@plugin.manager.menu.link']
+    lazy: true
   menu.tree_storage:
     class: Drupal\Core\Menu\MenuTreeStorage
     arguments: ['@database', '@cache.menu', '@cache_tags.invalidator', 'menu_tree']
@@ -542,11 +547,13 @@ services:
     arguments: ['@database']
     tags:
       - { name: backend_overridable }
+    lazy: true
   lock.persistent:
     class: Drupal\Core\Lock\PersistentDatabaseLockBackend
     arguments: ['@database']
     tags:
       - { name: backend_overridable }
+    lazy: true
   router.request_context:
     class: Drupal\Core\Routing\RequestContext
     tags:
@@ -640,9 +647,11 @@ services:
     arguments: ['@database', '@state']
     tags:
       - { name: backend_overridable }
+    lazy: true
   router.builder:
     class: Drupal\Core\Routing\RouteBuilder
     arguments: ['@router.dumper', '@lock', '@event_dispatcher', '@module_handler', '@controller_resolver', '@access_manager.check_provider']
+    lazy: true
     tags:
       - { name: needs_destruction }
   menu.rebuild_subscriber:
@@ -700,6 +709,7 @@ services:
       # Use a higher priority than EntityConverter, see the class for details.
       - { name: paramconverter, priority: 5 }
     arguments: ['@entity.manager', '@config.factory', '@router.admin_context']
+    lazy: true
   route_subscriber.module:
     class: Drupal\Core\EventSubscriber\ModuleRouteSubscriber
     tags:
@@ -799,6 +809,7 @@ services:
   bare_html_page_renderer:
     class: Drupal\Core\Render\BareHtmlPageRenderer
     arguments: ['@renderer']
+    lazy: true
   private_key:
     class: Drupal\Core\PrivateKey
     arguments: ['@state']
@@ -1020,6 +1031,7 @@ services:
     arguments: ['@database', '@session', '@csrf_token']
     tags:
       - { name: backend_overridable }
+    lazy: true
   replica_database_ignore__subscriber:
     class: Drupal\Core\EventSubscriber\ReplicaDatabaseIgnoreSubscriber
     tags:
@@ -1236,11 +1248,13 @@ services:
     class: Drupal\Core\File\MimeType\MimeTypeGuesser
     tags:
       - { name: service_collector, tag: mime_type_guesser, call: addGuesser }
+    lazy: true
   file.mime_type.guesser.extension:
     class: Drupal\Core\File\MimeType\ExtensionMimeTypeGuesser
     arguments: ['@module_handler']
     tags:
       - { name: mime_type_guesser }
+    lazy: true
   renderer:
     class: Drupal\Core\Render\Renderer
     arguments: ['@controller_resolver', '@theme.manager', '@plugin.manager.element_info', '@request_stack', '@cache_factory', '@cache_contexts']
diff --git a/core/modules/language/language.services.yml b/core/modules/language/language.services.yml
index eae3af51d676..b9de79a0b789 100644
--- a/core/modules/language/language.services.yml
+++ b/core/modules/language/language.services.yml
@@ -23,3 +23,4 @@ services:
     arguments: ['@language_manager']
     tags:
       - { name: paramconverter }
+    lazy: true
diff --git a/core/modules/node/node.services.yml b/core/modules/node/node.services.yml
index 64bd9965214a..b2585d9d009e 100644
--- a/core/modules/node/node.services.yml
+++ b/core/modules/node/node.services.yml
@@ -33,6 +33,7 @@ services:
     arguments: ['@user.private_tempstore']
     tags:
       - { name: paramconverter }
+    lazy: true
   node.page_cache_response_policy.deny_node_preview:
     class: Drupal\node\PageCache\DenyNodePreview
     arguments: ['@current_route_match']
diff --git a/core/modules/views_ui/views_ui.services.yml b/core/modules/views_ui/views_ui.services.yml
index 7a91adb0a0ba..b88e64df42d3 100644
--- a/core/modules/views_ui/views_ui.services.yml
+++ b/core/modules/views_ui/views_ui.services.yml
@@ -4,3 +4,4 @@ services:
     arguments: ['@entity.manager', '@user.shared_tempstore']
     tags:
       - { name: paramconverter, priority: 10 }
+    lazy: true
-- 
GitLab