Issue #1939660 by chx | catch: Use YAML as the primary means for service registration.
							parent
							
								
									31256993e6
								
							
						
					
					
						commit
						34e630950a
					
				| 
						 | 
				
			
			@ -0,0 +1,372 @@
 | 
			
		|||
services:
 | 
			
		||||
  cache_factory:
 | 
			
		||||
    class: Drupal\Core\Cache\CacheFactory
 | 
			
		||||
    arguments: ['@settings']
 | 
			
		||||
    calls:
 | 
			
		||||
      - [setContainer, ['@service_container']]
 | 
			
		||||
  cache.backend.database:
 | 
			
		||||
    class: Drupal\Core\Cache\DatabaseBackendFactory
 | 
			
		||||
    arguments: ['@database']
 | 
			
		||||
  cache.backend.memory:
 | 
			
		||||
    class: Drupal\Core\Cache\MemoryBackendFactory
 | 
			
		||||
  cache.bootstrap:
 | 
			
		||||
    class: Drupal\Core\Cache\CacheBackendInterface
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: cache.bin }
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: cache_factory
 | 
			
		||||
    arguments: [bootstrap]
 | 
			
		||||
  cache.config:
 | 
			
		||||
    class: Drupal\Core\Cache\CacheBackendInterface
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: cache.bin }
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: cache_factory
 | 
			
		||||
    arguments: [config]
 | 
			
		||||
  cache.cache:
 | 
			
		||||
    class: Drupal\Core\Cache\CacheBackendInterface
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: cache.bin }
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: cache_factory
 | 
			
		||||
    arguments: [cache]
 | 
			
		||||
  cache.menu:
 | 
			
		||||
    class: Drupal\Core\Cache\CacheBackendInterface
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: cache.bin }
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: cache_factory
 | 
			
		||||
    arguments: [menu]
 | 
			
		||||
  cache.page:
 | 
			
		||||
    class: Drupal\Core\Cache\CacheBackendInterface
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: cache.bin }
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: cache_factory
 | 
			
		||||
    arguments: [page]
 | 
			
		||||
  cache.path:
 | 
			
		||||
    class: Drupal\Core\Cache\CacheBackendInterface
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: cache.bin }
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: cache_factory
 | 
			
		||||
    arguments: [path]
 | 
			
		||||
  config.cachedstorage.storage:
 | 
			
		||||
    class: Drupal\Core\Config\FileStorage
 | 
			
		||||
    factory_class: Drupal\Core\Config\FileStorageFactory
 | 
			
		||||
    factory_method: getActive
 | 
			
		||||
  config.storage:
 | 
			
		||||
    class: Drupal\Core\Config\CachedStorage
 | 
			
		||||
    arguments: ['@config.cachedstorage.storage', '@cache.config']
 | 
			
		||||
  config.context.factory:
 | 
			
		||||
    class: Drupal\Core\Config\Context\ConfigContextFactory
 | 
			
		||||
    arguments: ['@event_dispatcher']
 | 
			
		||||
  config.context:
 | 
			
		||||
    class: Drupal\Core\Config\Context\ContextInterface
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: persist }
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: config.context.factory
 | 
			
		||||
  config.context.free:
 | 
			
		||||
    class: Drupal\Core\Config\Context\ContextInterface
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: config.context.factory
 | 
			
		||||
    arguments: [Drupal\Core\Config\Context\FreeConfigContext]
 | 
			
		||||
  config.factory:
 | 
			
		||||
    class: Drupal\Core\Config\ConfigFactory
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: persist }
 | 
			
		||||
    arguments: ['@config.storage', '@config.context']
 | 
			
		||||
  config.storage.staging:
 | 
			
		||||
    class: Drupal\Core\Config\FileStorage
 | 
			
		||||
    factory_class: Drupal\Core\Config\FileStorageFactory
 | 
			
		||||
    factory_method: getStaging
 | 
			
		||||
  config.storage.snapshot:
 | 
			
		||||
    class: Drupal\Core\Config\DatabaseStorage
 | 
			
		||||
    arguments: ['@database', config_snapshot]
 | 
			
		||||
  config.storage.schema:
 | 
			
		||||
    class: Drupal\Core\Config\Schema\SchemaStorage
 | 
			
		||||
  config.typed:
 | 
			
		||||
    class: Drupal\Core\Config\TypedConfigManager
 | 
			
		||||
    arguments: ['@config.storage', '@config.storage.schema']
 | 
			
		||||
  database:
 | 
			
		||||
    class: Drupal\Core\Database\Connection
 | 
			
		||||
    factory_class: Drupal\Core\Database\Database
 | 
			
		||||
    factory_method: getConnection
 | 
			
		||||
    arguments: [default]
 | 
			
		||||
  keyvalue:
 | 
			
		||||
    class: Drupal\Core\KeyValueStore\KeyValueFactory
 | 
			
		||||
    arguments: ['@service_container']
 | 
			
		||||
  keyvalue.database:
 | 
			
		||||
    class: Drupal\Core\KeyValueStore\KeyValueDatabaseFactory
 | 
			
		||||
    arguments: ['@database']
 | 
			
		||||
  keyvalue.expirable:
 | 
			
		||||
    class: Drupal\Core\KeyValueStore\KeyValueExpirableFactory
 | 
			
		||||
    arguments: ['@service_container']
 | 
			
		||||
  keyvalue.expirable.database:
 | 
			
		||||
    class: Drupal\Core\KeyValueStore\KeyValueDatabaseExpirableFactory
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: needs_destruction }
 | 
			
		||||
    arguments: ['@database']
 | 
			
		||||
  settings:
 | 
			
		||||
    class: Drupal\Component\Utility\Settings
 | 
			
		||||
    factory_class: Drupal\Component\Utility\Settings
 | 
			
		||||
    factory_method: getSingleton
 | 
			
		||||
  state:
 | 
			
		||||
    class: Drupal\Core\KeyValueStore\KeyValueStoreInterface
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: keyvalue
 | 
			
		||||
    arguments: [state]
 | 
			
		||||
  queue:
 | 
			
		||||
    class: Drupal\Core\Queue\QueueFactory
 | 
			
		||||
    arguments: ['@settings']
 | 
			
		||||
    calls:
 | 
			
		||||
      - [setContainer, ['@service_container']]
 | 
			
		||||
  queue.database:
 | 
			
		||||
    class: Drupal\Core\Queue\QueueDatabaseFactory
 | 
			
		||||
    arguments: ['@database']
 | 
			
		||||
  path.alias_whitelist:
 | 
			
		||||
    class: Drupal\Core\Path\AliasWhitelist
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: needs_destruction }
 | 
			
		||||
    arguments: [path_alias_whitelist, cache, '@keyvalue', '@database']
 | 
			
		||||
  path.alias_manager:
 | 
			
		||||
    class: Drupal\Core\Path\AliasManager
 | 
			
		||||
    arguments: ['@database', '@path.alias_whitelist', '@language_manager']
 | 
			
		||||
  http_client_simpletest_subscriber:
 | 
			
		||||
    class: Drupal\Core\Http\Plugin\SimpletestHttpRequestSubscriber
 | 
			
		||||
  http_default_client:
 | 
			
		||||
    class: Guzzle\Http\Client
 | 
			
		||||
    arguments: [null, { curl.CURLOPT_TIMEOUT: 30, curl.CURLOPT_MAXREDIRS: 3 }]
 | 
			
		||||
    calls:
 | 
			
		||||
      - [addSubscriber, ['@http_client_simpletest_subscriber']]
 | 
			
		||||
      - [setUserAgent, ['Drupal (+http://drupal.org/)']]
 | 
			
		||||
  plugin.manager.entity:
 | 
			
		||||
    class: Drupal\Core\Entity\EntityManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
  request:
 | 
			
		||||
    class: Symfony\Component\HttpFoundation\Request
 | 
			
		||||
  event_dispatcher:
 | 
			
		||||
    class: Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher
 | 
			
		||||
    arguments: ['@service_container']
 | 
			
		||||
  controller_resolver:
 | 
			
		||||
    class: Drupal\Core\ControllerResolver
 | 
			
		||||
    arguments: ['@service_container']
 | 
			
		||||
  http_kernel:
 | 
			
		||||
    class: Drupal\Core\HttpKernel
 | 
			
		||||
    arguments: ['@event_dispatcher', '@service_container', '@controller_resolver']
 | 
			
		||||
  language_manager:
 | 
			
		||||
    class: Drupal\Core\Language\LanguageManager
 | 
			
		||||
  database.slave:
 | 
			
		||||
    class: Drupal\Core\Database\Connection
 | 
			
		||||
    factory_class: Drupal\Core\Database\Database
 | 
			
		||||
    factory_method: getConnection
 | 
			
		||||
    arguments: [slave]
 | 
			
		||||
  typed_data:
 | 
			
		||||
    class: Drupal\Core\TypedData\TypedDataManager
 | 
			
		||||
    calls:
 | 
			
		||||
      - [setValidationConstraintManager, ['@validation.constraint']]
 | 
			
		||||
  validation.constraint:
 | 
			
		||||
    class: Drupal\Core\Validation\ConstraintManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
  lock:
 | 
			
		||||
    class: Drupal\Core\Lock\DatabaseLockBackend
 | 
			
		||||
  user.tempstore:
 | 
			
		||||
    class: Drupal\user\TempStoreFactory
 | 
			
		||||
    arguments: ['@database', '@lock']
 | 
			
		||||
  router.request_context:
 | 
			
		||||
    class: Symfony\Component\Routing\RequestContext
 | 
			
		||||
    calls:
 | 
			
		||||
      - [fromRequest, ['@request']]
 | 
			
		||||
  router.route_provider:
 | 
			
		||||
    class: Drupal\Core\Routing\RouteProvider
 | 
			
		||||
    arguments: ['@database']
 | 
			
		||||
  router.matcher.final_matcher:
 | 
			
		||||
    class: Drupal\Core\Routing\UrlMatcher
 | 
			
		||||
  router.matcher:
 | 
			
		||||
    class: Symfony\Cmf\Component\Routing\NestedMatcher\NestedMatcher
 | 
			
		||||
    arguments: ['@router.route_provider']
 | 
			
		||||
    calls:
 | 
			
		||||
      - [setFinalMatcher, ['@router.matcher.final_matcher']]
 | 
			
		||||
  router.generator:
 | 
			
		||||
    class: Drupal\Core\Routing\UrlGenerator
 | 
			
		||||
    arguments: ['@router.route_provider', '@path.alias_manager.cached']
 | 
			
		||||
  router.dynamic:
 | 
			
		||||
    class: Symfony\Cmf\Component\Routing\DynamicRouter
 | 
			
		||||
    arguments: ['@router.request_context', '@router.matcher', '@router.generator']
 | 
			
		||||
  legacy_generator:
 | 
			
		||||
    class: Drupal\Core\Routing\NullGenerator
 | 
			
		||||
  legacy_url_matcher:
 | 
			
		||||
    class: Drupal\Core\LegacyUrlMatcher
 | 
			
		||||
  legacy_router:
 | 
			
		||||
    class: Symfony\Cmf\Component\Routing\DynamicRouter
 | 
			
		||||
    arguments: ['@router.request_context', '@legacy_url_matcher', '@legacy_generator']
 | 
			
		||||
  router:
 | 
			
		||||
    class: Symfony\Cmf\Component\Routing\ChainRouter
 | 
			
		||||
    calls:
 | 
			
		||||
      - [setContext, ['@router.request_context']]
 | 
			
		||||
      - [add, ['@router.dynamic']]
 | 
			
		||||
      - [add, ['@legacy_router']]
 | 
			
		||||
  entity.query:
 | 
			
		||||
    class: Drupal\Core\Entity\Query\QueryFactory
 | 
			
		||||
    arguments: ['@plugin.manager.entity']
 | 
			
		||||
    calls:
 | 
			
		||||
      - [setContainer, ['@service_container']]
 | 
			
		||||
  entity.query.config:
 | 
			
		||||
    class: Drupal\Core\Config\Entity\Query\QueryFactory
 | 
			
		||||
    arguments: ['@config.storage']
 | 
			
		||||
  router.dumper:
 | 
			
		||||
    class: Drupal\Core\Routing\MatcherDumper
 | 
			
		||||
    arguments: ['@database']
 | 
			
		||||
  router.builder:
 | 
			
		||||
    class: Drupal\Core\Routing\RouteBuilder
 | 
			
		||||
    arguments: ['@router.dumper', '@lock', '@event_dispatcher', '@module_handler']
 | 
			
		||||
  path.alias_manager.cached:
 | 
			
		||||
    class: Drupal\Core\CacheDecorator\AliasManagerCacheDecorator
 | 
			
		||||
    arguments: ['@path.alias_manager', '@cache.path']
 | 
			
		||||
  path.crud:
 | 
			
		||||
    class: Drupal\Core\Path\Path
 | 
			
		||||
    arguments: ['@database', '@path.alias_manager']
 | 
			
		||||
# The argument to the hashing service defined in services.yml, to the
 | 
			
		||||
# constructor of PhpassHashedPassword is the log2 number of iterations for
 | 
			
		||||
# password stretching.
 | 
			
		||||
# @todo increase by 1 every Drupal version in order to counteract increases in
 | 
			
		||||
# the speed and power of computers available to crack the hashes. The current
 | 
			
		||||
# password hashing method was introduced in Drupal 7 with a log2 count of 15.
 | 
			
		||||
  password:
 | 
			
		||||
    class: Drupal\Core\Password\PhpassHashedPassword
 | 
			
		||||
    arguments: [16]
 | 
			
		||||
  mime_type_matcher:
 | 
			
		||||
    class: Drupal\Core\Routing\MimeTypeMatcher
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: route_filter }
 | 
			
		||||
  paramconverter_manager:
 | 
			
		||||
    class: Drupal\Core\ParamConverter\ParamConverterManager
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: route_enhancer }
 | 
			
		||||
  paramconverter.entity:
 | 
			
		||||
    class: Drupal\Core\ParamConverter\EntityConverter
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: paramconverter }
 | 
			
		||||
    arguments: ['@plugin.manager.entity']
 | 
			
		||||
  router_processor_subscriber:
 | 
			
		||||
    class: Drupal\Core\EventSubscriber\RouteProcessorSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    arguments: ['@content_negotiation']
 | 
			
		||||
  router_listener:
 | 
			
		||||
    class: Symfony\Component\HttpKernel\EventListener\RouterListener
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    arguments: ['@router']
 | 
			
		||||
  content_negotiation:
 | 
			
		||||
    class: Drupal\Core\ContentNegotiation
 | 
			
		||||
  view_subscriber:
 | 
			
		||||
    class: Drupal\Core\EventSubscriber\ViewSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    arguments: ['@content_negotiation']
 | 
			
		||||
  legacy_access_subscriber:
 | 
			
		||||
    class: Drupal\Core\EventSubscriber\LegacyAccessSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
  access_manager:
 | 
			
		||||
    class: Drupal\Core\Access\AccessManager
 | 
			
		||||
    calls:
 | 
			
		||||
      - [setContainer, ['@service_container']]
 | 
			
		||||
  access_subscriber:
 | 
			
		||||
    class: Drupal\Core\EventSubscriber\AccessSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    arguments: ['@access_manager']
 | 
			
		||||
  access_check.default:
 | 
			
		||||
    class: Drupal\Core\Access\DefaultAccessCheck
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: access_check }
 | 
			
		||||
  maintenance_mode_subscriber:
 | 
			
		||||
    class: Drupal\Core\EventSubscriber\MaintenanceModeSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
  path_subscriber:
 | 
			
		||||
    class: Drupal\Core\EventSubscriber\PathSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    arguments: ['@path.alias_manager.cached', '@path_processor_manager']
 | 
			
		||||
  legacy_request_subscriber:
 | 
			
		||||
    class: Drupal\Core\EventSubscriber\LegacyRequestSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
  legacy_controller_subscriber:
 | 
			
		||||
    class: Drupal\Core\EventSubscriber\LegacyControllerSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
  finish_response_subscriber:
 | 
			
		||||
    class: Drupal\Core\EventSubscriber\FinishResponseSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    arguments: ['@language_manager']
 | 
			
		||||
    scope: request
 | 
			
		||||
  request_close_subscriber:
 | 
			
		||||
    class: Drupal\Core\EventSubscriber\RequestCloseSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    arguments: ['@module_handler']
 | 
			
		||||
  config_global_override_subscriber:
 | 
			
		||||
    class: Drupal\Core\EventSubscriber\ConfigGlobalOverrideSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
  language_request_subscriber:
 | 
			
		||||
    class: Drupal\Core\EventSubscriber\LanguageRequestSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    arguments: ['@language_manager']
 | 
			
		||||
  exception_controller:
 | 
			
		||||
    class: Drupal\Core\ExceptionController
 | 
			
		||||
    arguments: ['@content_negotiation']
 | 
			
		||||
    calls:
 | 
			
		||||
      - [setContainer, ['@service_container']]
 | 
			
		||||
  exception_listener:
 | 
			
		||||
    class: Symfony\Component\HttpKernel\EventListener\ExceptionListener
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    arguments: [['@exception_controller', execute]]
 | 
			
		||||
  path_processor_manager:
 | 
			
		||||
    class: Drupal\Core\PathProcessor\PathProcessorManager
 | 
			
		||||
  path_processor_decode:
 | 
			
		||||
    class: Drupal\Core\PathProcessor\PathProcessorDecode
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: path_processor_inbound, priority: 1000 }
 | 
			
		||||
  path_processor_front:
 | 
			
		||||
    class: Drupal\Core\PathProcessor\PathProcessorFront
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: path_processor_inbound, priority: 200 }
 | 
			
		||||
    arguments: ['@config.factory']
 | 
			
		||||
  path_processor_alias:
 | 
			
		||||
    class: Drupal\Core\PathProcessor\PathProcessorAlias
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: path_processor_inbound, priority: 100 }
 | 
			
		||||
    arguments: ['@path.alias_manager']
 | 
			
		||||
  transliteration:
 | 
			
		||||
    class: Drupal\Core\Transliteration\PHPTransliteration
 | 
			
		||||
  flood:
 | 
			
		||||
    class: Drupal\Core\Flood\DatabaseBackend
 | 
			
		||||
    arguments: ['@database']
 | 
			
		||||
  plugin.manager.condition:
 | 
			
		||||
    class: Drupal\Core\Condition\ConditionManager
 | 
			
		||||
  kernel_destruct_subscriber:
 | 
			
		||||
    class: Drupal\Core\EventSubscriber\KernelDestructionSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    calls:
 | 
			
		||||
      - [setContainer, ['@service_container']]
 | 
			
		||||
  ajax.subscriber:
 | 
			
		||||
    class: Drupal\Core\Ajax\AjaxSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
  image.toolkit.manager:
 | 
			
		||||
    class: Drupal\system\Plugin\ImageToolkitManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
  image.toolkit:
 | 
			
		||||
    class: Drupal\system\Plugin\ImageToolkitInterface
 | 
			
		||||
    factory_method: getDefaultToolkit
 | 
			
		||||
    factory_service: image.toolkit.manager
 | 
			
		||||
| 
						 | 
				
			
			@ -62,20 +62,4 @@ class CacheFactory extends ContainerAware {
 | 
			
		|||
    return $this->container->get($service_name)->get($bin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Helper to register a cache bin to the container.
 | 
			
		||||
   *
 | 
			
		||||
   * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container
 | 
			
		||||
   *   The container to register the cache bin on.
 | 
			
		||||
   * @param $bin
 | 
			
		||||
   *   The cache bin to add. Do not add the cache_ prefix.
 | 
			
		||||
   */
 | 
			
		||||
  public static function registerBin(ContainerBuilder $container, $bin) {
 | 
			
		||||
    $container
 | 
			
		||||
      ->register("cache.$bin", 'Drupal\Core\Cache\CacheBackendInterface')
 | 
			
		||||
      ->setFactoryService('cache_factory')
 | 
			
		||||
      ->setFactoryMethod('get')
 | 
			
		||||
      ->addArgument($bin)
 | 
			
		||||
      ->addTag('cache.bin');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,32 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Contains \Drupal\Core\Config\FileStorageFactory.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\Core\Config;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Provides a factory for creating config file storage objects.
 | 
			
		||||
 */
 | 
			
		||||
class FileStorageFactory {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Returns a FileStorage object working with the active config directory.
 | 
			
		||||
   *
 | 
			
		||||
   * @return \Drupal\Core\Config\FileStorage FileStorage
 | 
			
		||||
   */
 | 
			
		||||
  static function getActive() {
 | 
			
		||||
    return new FileStorage(config_get_config_directory(CONFIG_ACTIVE_DIRECTORY));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Returns a FileStorage object working with the staging config directory.
 | 
			
		||||
   *
 | 
			
		||||
   * @return \Drupal\Core\Config\FileStorage FileStorage
 | 
			
		||||
   */
 | 
			
		||||
  static function getStaging() {
 | 
			
		||||
    return new FileStorage(config_get_config_directory(CONFIG_STAGING_DIRECTORY));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -7,7 +7,6 @@
 | 
			
		|||
 | 
			
		||||
namespace Drupal\Core;
 | 
			
		||||
 | 
			
		||||
use Drupal\Core\Cache\CacheFactory;
 | 
			
		||||
use Drupal\Core\Cache\ListCacheBinsPass;
 | 
			
		||||
use Drupal\Core\DependencyInjection\Compiler\RegisterKernelListenersPass;
 | 
			
		||||
use Drupal\Core\DependencyInjection\Compiler\RegisterAccessChecksPass;
 | 
			
		||||
| 
						 | 
				
			
			@ -28,9 +27,12 @@ use Symfony\Component\DependencyInjection\Compiler\PassConfig;
 | 
			
		|||
/**
 | 
			
		||||
 * Bundle class for mandatory core services.
 | 
			
		||||
 *
 | 
			
		||||
 * This is where Drupal core registers all of its services to the Dependency
 | 
			
		||||
 * Injection Container. Modules wishing to register services to the container
 | 
			
		||||
 * should extend Symfony's Bundle class directly, not this class.
 | 
			
		||||
 * This is where Drupal core registers all of its compiler passes.
 | 
			
		||||
 * The service definitions themselves are in core/core.services.yml with a
 | 
			
		||||
 * few, documented exceptions (typically, install requirements).
 | 
			
		||||
 *
 | 
			
		||||
 * Modules wishing to register services to the container should use
 | 
			
		||||
 * modulename.services.yml in their respective directories.
 | 
			
		||||
 */
 | 
			
		||||
class CoreBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -38,280 +40,12 @@ class CoreBundle extends Bundle {
 | 
			
		|||
   * Implements \Symfony\Component\HttpKernel\Bundle\BundleInterface::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $this->registerCache($container);
 | 
			
		||||
    // Register active configuration storage.
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('config.cachedstorage.storage', 'Drupal\Core\Config\FileStorage')
 | 
			
		||||
      ->addArgument(config_get_config_directory(CONFIG_ACTIVE_DIRECTORY));
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('config.storage', 'Drupal\Core\Config\CachedStorage')
 | 
			
		||||
      ->addArgument(new Reference('config.cachedstorage.storage'))
 | 
			
		||||
      ->addArgument(new Reference('cache.config'));
 | 
			
		||||
 | 
			
		||||
    $container->register('config.context.factory', 'Drupal\Core\Config\Context\ConfigContextFactory')
 | 
			
		||||
      ->addArgument(new Reference('event_dispatcher'));
 | 
			
		||||
 | 
			
		||||
    $container->register('config.context', 'Drupal\Core\Config\Context\ContextInterface')
 | 
			
		||||
      ->setFactoryService(new Reference('config.context.factory'))
 | 
			
		||||
      ->setFactoryMethod('get')
 | 
			
		||||
      ->addTag('persist');
 | 
			
		||||
 | 
			
		||||
    // Register a config context with no overrides for use in administration
 | 
			
		||||
    // forms, enabling modules and importing configuration.
 | 
			
		||||
    $container->register('config.context.free', 'Drupal\Core\Config\Context\ContextInterface')
 | 
			
		||||
      ->setFactoryService(new Reference('config.context.factory'))
 | 
			
		||||
      ->setFactoryMethod('get')
 | 
			
		||||
      ->addArgument('Drupal\Core\Config\Context\FreeConfigContext');
 | 
			
		||||
 | 
			
		||||
    $container->register('config.factory', 'Drupal\Core\Config\ConfigFactory')
 | 
			
		||||
      ->addArgument(new Reference('config.storage'))
 | 
			
		||||
      ->addArgument(new Reference('config.context'))
 | 
			
		||||
      ->addTag('persist');
 | 
			
		||||
 | 
			
		||||
    // Register staging configuration storage.
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('config.storage.staging', 'Drupal\Core\Config\FileStorage')
 | 
			
		||||
      ->addArgument(config_get_config_directory(CONFIG_STAGING_DIRECTORY));
 | 
			
		||||
 | 
			
		||||
    // Register import snapshot configuration storage.
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('config.storage.snapshot', 'Drupal\Core\Config\DatabaseStorage')
 | 
			
		||||
      ->addArgument(new Reference('database'))
 | 
			
		||||
      ->addArgument('config_snapshot');
 | 
			
		||||
 | 
			
		||||
    // Register schema configuration storage.
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('config.storage.schema', 'Drupal\Core\Config\Schema\SchemaStorage');
 | 
			
		||||
 | 
			
		||||
    // Register the typed configuration data manager.
 | 
			
		||||
    $container->register('config.typed', 'Drupal\Core\Config\TypedConfigManager')
 | 
			
		||||
      ->addArgument(new Reference('config.storage'))
 | 
			
		||||
      ->addArgument(new Reference('config.storage.schema'));
 | 
			
		||||
 | 
			
		||||
    // Register the service for the default database connection.
 | 
			
		||||
    $container->register('database', 'Drupal\Core\Database\Connection')
 | 
			
		||||
      ->setFactoryClass('Drupal\Core\Database\Database')
 | 
			
		||||
      ->setFactoryMethod('getConnection')
 | 
			
		||||
      ->addArgument('default');
 | 
			
		||||
    // Register the KeyValueStore factory.
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('keyvalue', 'Drupal\Core\KeyValueStore\KeyValueFactory')
 | 
			
		||||
      ->addArgument(new Reference('service_container'));
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('keyvalue.database', 'Drupal\Core\KeyValueStore\KeyValueDatabaseFactory')
 | 
			
		||||
      ->addArgument(new Reference('database'));
 | 
			
		||||
    // Register the KeyValueStoreExpirable factory.
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('keyvalue.expirable', 'Drupal\Core\KeyValueStore\KeyValueExpirableFactory')
 | 
			
		||||
      ->addArgument(new Reference('service_container'));
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('keyvalue.expirable.database', 'Drupal\Core\KeyValueStore\KeyValueDatabaseExpirableFactory')
 | 
			
		||||
      ->addArgument(new Reference('database'))
 | 
			
		||||
      ->addTag('needs_destruction');
 | 
			
		||||
 | 
			
		||||
    $container->register('settings', 'Drupal\Component\Utility\Settings')
 | 
			
		||||
      ->setFactoryClass('Drupal\Component\Utility\Settings')
 | 
			
		||||
      ->setFactoryMethod('getSingleton');
 | 
			
		||||
 | 
			
		||||
    // Register the State k/v store as a service.
 | 
			
		||||
    $container->register('state', 'Drupal\Core\KeyValueStore\KeyValueStoreInterface')
 | 
			
		||||
      ->setFactoryService(new Reference('keyvalue'))
 | 
			
		||||
      ->setFactoryMethod('get')
 | 
			
		||||
      ->addArgument('state');
 | 
			
		||||
 | 
			
		||||
    // Register the Queue factory.
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('queue', 'Drupal\Core\Queue\QueueFactory')
 | 
			
		||||
      ->addArgument(new Reference('settings'))
 | 
			
		||||
      ->addMethodCall('setContainer', array(new Reference('service_container')));
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('queue.database', 'Drupal\Core\Queue\QueueDatabaseFactory')
 | 
			
		||||
      ->addArgument(new Reference('database'));
 | 
			
		||||
 | 
			
		||||
    $container->register('path.alias_whitelist', 'Drupal\Core\Path\AliasWhitelist')
 | 
			
		||||
      ->addArgument('path_alias_whitelist')
 | 
			
		||||
      ->addArgument('cache')
 | 
			
		||||
      ->addArgument(new Reference('keyvalue'))
 | 
			
		||||
      ->addArgument(new Reference('database'))
 | 
			
		||||
      ->addTag('needs_destruction');
 | 
			
		||||
 | 
			
		||||
     $container->register('path.alias_manager', 'Drupal\Core\Path\AliasManager')
 | 
			
		||||
      ->addArgument(new Reference('database'))
 | 
			
		||||
      ->addArgument(new Reference('path.alias_whitelist'))
 | 
			
		||||
      ->addArgument(new Reference('language_manager'));
 | 
			
		||||
 | 
			
		||||
    $container->register('http_client_simpletest_subscriber', 'Drupal\Core\Http\Plugin\SimpletestHttpRequestSubscriber');
 | 
			
		||||
    $container->register('http_default_client', 'Guzzle\Http\Client')
 | 
			
		||||
      ->addArgument(NULL)
 | 
			
		||||
      ->addArgument(array(
 | 
			
		||||
        'curl.CURLOPT_TIMEOUT' => 30.0,
 | 
			
		||||
        'curl.CURLOPT_MAXREDIRS' => 3,
 | 
			
		||||
      ))
 | 
			
		||||
      ->addMethodCall('addSubscriber', array(new Reference('http_client_simpletest_subscriber')))
 | 
			
		||||
      ->addMethodCall('setUserAgent', array('Drupal (+http://drupal.org/)'));
 | 
			
		||||
 | 
			
		||||
    // Register the EntityManager.
 | 
			
		||||
    $container->register('plugin.manager.entity', 'Drupal\Core\Entity\EntityManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
 | 
			
		||||
    // The 'request' scope and service enable services to depend on the Request
 | 
			
		||||
    // object and get reconstructed when the request object changes (e.g.,
 | 
			
		||||
    // during a subrequest).
 | 
			
		||||
    $container->addScope(new Scope('request'));
 | 
			
		||||
    $container->register('request', 'Symfony\Component\HttpFoundation\Request');
 | 
			
		||||
 | 
			
		||||
    $container->register('event_dispatcher', 'Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher')
 | 
			
		||||
      ->addArgument(new Reference('service_container'));
 | 
			
		||||
    $container->register('controller_resolver', 'Drupal\Core\ControllerResolver')
 | 
			
		||||
      ->addArgument(new Reference('service_container'));
 | 
			
		||||
 | 
			
		||||
    $this->registerModuleHandler($container);
 | 
			
		||||
 | 
			
		||||
    $container->register('http_kernel', 'Drupal\Core\HttpKernel')
 | 
			
		||||
      ->addArgument(new Reference('event_dispatcher'))
 | 
			
		||||
      ->addArgument(new Reference('service_container'))
 | 
			
		||||
      ->addArgument(new Reference('controller_resolver'));
 | 
			
		||||
 | 
			
		||||
    // Register the 'language_manager' service.
 | 
			
		||||
    $container->register('language_manager', 'Drupal\Core\Language\LanguageManager');
 | 
			
		||||
 | 
			
		||||
    $container->register('database.slave', 'Drupal\Core\Database\Connection')
 | 
			
		||||
      ->setFactoryClass('Drupal\Core\Database\Database')
 | 
			
		||||
      ->setFactoryMethod('getConnection')
 | 
			
		||||
      ->addArgument('slave');
 | 
			
		||||
    $container->register('typed_data', 'Drupal\Core\TypedData\TypedDataManager')
 | 
			
		||||
      ->addMethodCall('setValidationConstraintManager', array(new Reference('validation.constraint')));
 | 
			
		||||
    $container->register('validation.constraint', 'Drupal\Core\Validation\ConstraintManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
 | 
			
		||||
    // Add the user's storage for temporary, non-cache data.
 | 
			
		||||
    $container->register('lock', 'Drupal\Core\Lock\DatabaseLockBackend');
 | 
			
		||||
    $container->register('user.tempstore', 'Drupal\user\TempStoreFactory')
 | 
			
		||||
      ->addArgument(new Reference('database'))
 | 
			
		||||
      ->addArgument(new Reference('lock'));
 | 
			
		||||
 | 
			
		||||
    $this->registerTwig($container);
 | 
			
		||||
    $this->registerRouting($container);
 | 
			
		||||
 | 
			
		||||
    // Add the entity query factories.
 | 
			
		||||
    $container->register('entity.query', 'Drupal\Core\Entity\Query\QueryFactory')
 | 
			
		||||
      ->addArgument(new Reference('plugin.manager.entity'))
 | 
			
		||||
      ->addMethodCall('setContainer', array(new Reference('service_container')));
 | 
			
		||||
    $container->register('entity.query.config', 'Drupal\Core\Config\Entity\Query\QueryFactory')
 | 
			
		||||
      ->addArgument(new Reference('config.storage'));
 | 
			
		||||
 | 
			
		||||
    $container->register('router.dumper', 'Drupal\Core\Routing\MatcherDumper')
 | 
			
		||||
      ->addArgument(new Reference('database'));
 | 
			
		||||
    $container->register('router.builder', 'Drupal\Core\Routing\RouteBuilder')
 | 
			
		||||
      ->addArgument(new Reference('router.dumper'))
 | 
			
		||||
      ->addArgument(new Reference('lock'))
 | 
			
		||||
      ->addArgument(new Reference('event_dispatcher'))
 | 
			
		||||
      ->addArgument(new Reference('module_handler'));
 | 
			
		||||
 | 
			
		||||
    $container->register('path.alias_manager.cached', 'Drupal\Core\CacheDecorator\AliasManagerCacheDecorator')
 | 
			
		||||
      ->addArgument(new Reference('path.alias_manager'))
 | 
			
		||||
      ->addArgument(new Reference('cache.path'));
 | 
			
		||||
 | 
			
		||||
    $container->register('path.crud', 'Drupal\Core\Path\Path')
 | 
			
		||||
      ->addArgument(new Reference('database'))
 | 
			
		||||
      ->addArgument(new Reference('path.alias_manager'));
 | 
			
		||||
 | 
			
		||||
    // Add password hashing service. The argument to PhpassHashedPassword
 | 
			
		||||
    // constructor is the log2 number of iterations for password stretching.
 | 
			
		||||
    // This should increase by 1 every Drupal version in order to counteract
 | 
			
		||||
    // increases in the speed and power of computers available to crack the
 | 
			
		||||
    // hashes. The current password hashing method was introduced in Drupal 7
 | 
			
		||||
    // with a log2 count of 15.
 | 
			
		||||
    $container->register('password', 'Drupal\Core\Password\PhpassHashedPassword')
 | 
			
		||||
      ->addArgument(16);
 | 
			
		||||
 | 
			
		||||
    // The following services are tagged as 'route_filter' services and are
 | 
			
		||||
    // processed in the RegisterRouteFiltersPass compiler pass.
 | 
			
		||||
    $container->register('mime_type_matcher', 'Drupal\Core\Routing\MimeTypeMatcher')
 | 
			
		||||
      ->addTag('route_filter');
 | 
			
		||||
 | 
			
		||||
    $container->register('paramconverter_manager', 'Drupal\Core\ParamConverter\ParamConverterManager')
 | 
			
		||||
      ->addTag('route_enhancer');
 | 
			
		||||
    $container->register('paramconverter.entity', 'Drupal\Core\ParamConverter\EntityConverter')
 | 
			
		||||
      ->addArgument(new Reference('plugin.manager.entity'))
 | 
			
		||||
      ->addTag('paramconverter');
 | 
			
		||||
 | 
			
		||||
    $container->register('router_processor_subscriber', 'Drupal\Core\EventSubscriber\RouteProcessorSubscriber')
 | 
			
		||||
      ->addArgument(new Reference('content_negotiation'))
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
    $container->register('router_listener', 'Symfony\Component\HttpKernel\EventListener\RouterListener')
 | 
			
		||||
      ->addArgument(new Reference('router'))
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
    $container->register('content_negotiation', 'Drupal\Core\ContentNegotiation');
 | 
			
		||||
    $container->register('view_subscriber', 'Drupal\Core\EventSubscriber\ViewSubscriber')
 | 
			
		||||
      ->addArgument(new Reference('content_negotiation'))
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
    $container->register('legacy_access_subscriber', 'Drupal\Core\EventSubscriber\LegacyAccessSubscriber')
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
    $container->register('access_manager', 'Drupal\Core\Access\AccessManager')
 | 
			
		||||
      ->addMethodCall('setContainer', array(new Reference('service_container')));
 | 
			
		||||
    $container->register('access_subscriber', 'Drupal\Core\EventSubscriber\AccessSubscriber')
 | 
			
		||||
      ->addArgument(new Reference('access_manager'))
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
    $container->register('access_check.default', 'Drupal\Core\Access\DefaultAccessCheck')
 | 
			
		||||
      ->addTag('access_check');
 | 
			
		||||
    $container->register('maintenance_mode_subscriber', 'Drupal\Core\EventSubscriber\MaintenanceModeSubscriber')
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
    $container->register('path_subscriber', 'Drupal\Core\EventSubscriber\PathSubscriber')
 | 
			
		||||
      ->addArgument(new Reference('path.alias_manager.cached'))
 | 
			
		||||
      ->addArgument(new Reference('path_processor_manager'))
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
    $container->register('legacy_request_subscriber', 'Drupal\Core\EventSubscriber\LegacyRequestSubscriber')
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
    $container->register('legacy_controller_subscriber', 'Drupal\Core\EventSubscriber\LegacyControllerSubscriber')
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
    $container->register('finish_response_subscriber', 'Drupal\Core\EventSubscriber\FinishResponseSubscriber')
 | 
			
		||||
      ->addArgument(new Reference('language_manager'))
 | 
			
		||||
      ->setScope('request')
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
    $container->register('request_close_subscriber', 'Drupal\Core\EventSubscriber\RequestCloseSubscriber')
 | 
			
		||||
      ->addArgument(new Reference('module_handler'))
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
    $container->register('config_global_override_subscriber', 'Drupal\Core\EventSubscriber\ConfigGlobalOverrideSubscriber')
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
    $container->register('language_request_subscriber', 'Drupal\Core\EventSubscriber\LanguageRequestSubscriber')
 | 
			
		||||
      ->addArgument(new Reference('language_manager'))
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
 | 
			
		||||
    $container->register('exception_controller', 'Drupal\Core\ExceptionController')
 | 
			
		||||
      ->addArgument(new Reference('content_negotiation'))
 | 
			
		||||
      ->addMethodCall('setContainer', array(new Reference('service_container')));
 | 
			
		||||
    $container->register('exception_listener', 'Symfony\Component\HttpKernel\EventListener\ExceptionListener')
 | 
			
		||||
      ->addTag('event_subscriber')
 | 
			
		||||
      ->addArgument(array(new Reference('exception_controller'), 'execute'));
 | 
			
		||||
 | 
			
		||||
    $this->registerPathProcessors($container);
 | 
			
		||||
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('transliteration', 'Drupal\Core\Transliteration\PHPTransliteration');
 | 
			
		||||
 | 
			
		||||
    $container->register('flood', 'Drupal\Core\Flood\DatabaseBackend')
 | 
			
		||||
      ->addArgument(new Reference('database'));
 | 
			
		||||
 | 
			
		||||
    $container->register('plugin.manager.condition', 'Drupal\Core\Condition\ConditionManager');
 | 
			
		||||
 | 
			
		||||
    $container->register('kernel_destruct_subscriber', 'Drupal\Core\EventSubscriber\KernelDestructionSubscriber')
 | 
			
		||||
      ->addMethodCall('setContainer', array(new Reference('service_container')))
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
 | 
			
		||||
    // Register Ajax event subscriber.
 | 
			
		||||
    $container->register('ajax.subscriber', 'Drupal\Core\Ajax\AjaxSubscriber')
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
 | 
			
		||||
    // Register image toolkit manager.
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('image.toolkit.manager', 'Drupal\system\Plugin\ImageToolkitManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
    // Register image toolkit.
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('image.toolkit', 'Drupal\system\Plugin\ImageToolkitInterface')
 | 
			
		||||
      ->setFactoryService('image.toolkit.manager')
 | 
			
		||||
      ->setFactoryMethod('getDefaultToolkit');
 | 
			
		||||
    $this->registerModuleHandler($container);
 | 
			
		||||
 | 
			
		||||
    $container->addCompilerPass(new RegisterMatchersPass());
 | 
			
		||||
    $container->addCompilerPass(new RegisterRouteFiltersPass());
 | 
			
		||||
| 
						 | 
				
			
			@ -325,10 +59,15 @@ class CoreBundle extends Bundle {
 | 
			
		|||
    $container->addCompilerPass(new RegisterRouteEnhancersPass());
 | 
			
		||||
    // Add a compiler pass for registering services needing destruction.
 | 
			
		||||
    $container->addCompilerPass(new RegisterServicesForDestructionPass());
 | 
			
		||||
    // Add the compiler pass that will process the tagged services.
 | 
			
		||||
    $container->addCompilerPass(new RegisterPathProcessorsPass());
 | 
			
		||||
    $container->addCompilerPass(new ListCacheBinsPass());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Registers the module handler.
 | 
			
		||||
   *
 | 
			
		||||
   * As this is different during install, it needs to stay in PHP.
 | 
			
		||||
   */
 | 
			
		||||
  protected function registerModuleHandler(ContainerBuilder $container) {
 | 
			
		||||
    // The ModuleHandler manages enabled modules and provides the ability to
 | 
			
		||||
| 
						 | 
				
			
			@ -346,44 +85,10 @@ class CoreBundle extends Bundle {
 | 
			
		|||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Registers the various services for the routing system.
 | 
			
		||||
   *
 | 
			
		||||
   * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container
 | 
			
		||||
   */
 | 
			
		||||
  protected function registerRouting(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('router.request_context', 'Symfony\Component\Routing\RequestContext')
 | 
			
		||||
      ->addMethodCall('fromRequest', array(new Reference('request')));
 | 
			
		||||
 | 
			
		||||
    $container->register('router.route_provider', 'Drupal\Core\Routing\RouteProvider')
 | 
			
		||||
      ->addArgument(new Reference('database'));
 | 
			
		||||
    $container->register('router.matcher.final_matcher', 'Drupal\Core\Routing\UrlMatcher');
 | 
			
		||||
    $container->register('router.matcher', 'Symfony\Cmf\Component\Routing\NestedMatcher\NestedMatcher')
 | 
			
		||||
      ->addArgument(new Reference('router.route_provider'))
 | 
			
		||||
      ->addMethodCall('setFinalMatcher', array(new Reference('router.matcher.final_matcher')));
 | 
			
		||||
    $container->register('router.generator', 'Drupal\Core\Routing\UrlGenerator')
 | 
			
		||||
      ->addArgument(new Reference('router.route_provider'))
 | 
			
		||||
      ->addArgument(new Reference('path.alias_manager.cached'));
 | 
			
		||||
    $container->register('router.dynamic', 'Symfony\Cmf\Component\Routing\DynamicRouter')
 | 
			
		||||
      ->addArgument(new Reference('router.request_context'))
 | 
			
		||||
      ->addArgument(new Reference('router.matcher'))
 | 
			
		||||
      ->addArgument(new Reference('router.generator'));
 | 
			
		||||
 | 
			
		||||
    $container->register('legacy_generator', 'Drupal\Core\Routing\NullGenerator');
 | 
			
		||||
    $container->register('legacy_url_matcher', 'Drupal\Core\LegacyUrlMatcher');
 | 
			
		||||
    $container->register('legacy_router', 'Symfony\Cmf\Component\Routing\DynamicRouter')
 | 
			
		||||
            ->addArgument(new Reference('router.request_context'))
 | 
			
		||||
            ->addArgument(new Reference('legacy_url_matcher'))
 | 
			
		||||
            ->addArgument(new Reference('legacy_generator'));
 | 
			
		||||
 | 
			
		||||
    $container->register('router', 'Symfony\Cmf\Component\Routing\ChainRouter')
 | 
			
		||||
      ->addMethodCall('setContext', array(new Reference('router.request_context')))
 | 
			
		||||
      ->addMethodCall('add', array(new Reference('router.dynamic')))
 | 
			
		||||
      ->addMethodCall('add', array(new Reference('legacy_router')));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Registers Twig services.
 | 
			
		||||
   *
 | 
			
		||||
   * This is used during install so it needs to stay in PHP (and static too).
 | 
			
		||||
   */
 | 
			
		||||
  public static function registerTwig(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('twig.loader.filesystem', 'Twig_Loader_Filesystem')
 | 
			
		||||
| 
						 | 
				
			
			@ -413,49 +118,4 @@ class CoreBundle extends Bundle {
 | 
			
		|||
      ->addMethodCall('addExtension', array(new Definition('Twig_Extension_Debug')));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Register services related to path processing.
 | 
			
		||||
   */
 | 
			
		||||
  protected function registerPathProcessors(ContainerBuilder $container) {
 | 
			
		||||
    // Register the path processor manager service.
 | 
			
		||||
    $container->register('path_processor_manager', 'Drupal\Core\PathProcessor\PathProcessorManager');
 | 
			
		||||
    // Register the processor that urldecodes the path.
 | 
			
		||||
    $container->register('path_processor_decode', 'Drupal\Core\PathProcessor\PathProcessorDecode')
 | 
			
		||||
      ->addTag('path_processor_inbound', array('priority' => 1000));
 | 
			
		||||
    // Register the processor that resolves the front page.
 | 
			
		||||
    $container->register('path_processor_front', 'Drupal\Core\PathProcessor\PathProcessorFront')
 | 
			
		||||
      ->addArgument(new Reference('config.factory'))
 | 
			
		||||
      ->addTag('path_processor_inbound', array('priority' => 200));
 | 
			
		||||
    // Register the alias path processor.
 | 
			
		||||
    $container->register('path_processor_alias', 'Drupal\Core\PathProcessor\PathProcessorAlias')
 | 
			
		||||
      ->addArgument(new Reference('path.alias_manager'))
 | 
			
		||||
      ->addTag('path_processor_inbound', array('priority' => 100));
 | 
			
		||||
 | 
			
		||||
    // Add the compiler pass that will process the tagged services.
 | 
			
		||||
    $container->addCompilerPass(new RegisterPathProcessorsPass());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Register services related to cache.
 | 
			
		||||
   */
 | 
			
		||||
  protected function registerCache(ContainerBuilder $container) {
 | 
			
		||||
    // This factory chooses the backend service for a given bin.
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('cache_factory', 'Drupal\Core\Cache\CacheFactory')
 | 
			
		||||
      ->addArgument(new Reference('settings'))
 | 
			
		||||
      ->addMethodCall('setContainer', array(new Reference('service_container')));
 | 
			
		||||
    // These are the core provided backend services.
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('cache.backend.database', 'Drupal\Core\Cache\DatabaseBackendFactory')
 | 
			
		||||
      ->addArgument(new Reference('database'));
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('cache.backend.memory', 'Drupal\Core\Cache\MemoryBackendFactory');
 | 
			
		||||
    // Register a service for each bin for injecting purposes.
 | 
			
		||||
    foreach (array('bootstrap', 'config', 'cache', 'menu', 'page', 'path') as $bin) {
 | 
			
		||||
      CacheFactory::registerBin($container, $bin);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    $container->addCompilerPass(new ListCacheBinsPass());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,255 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\Core\DependencyInjection\YamlFileLoader.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\Core\DependencyInjection;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\Alias;
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerInterface;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Definition;
 | 
			
		||||
use Symfony\Component\DependencyInjection\DefinitionDecorator;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\Yaml\Parser;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * YamlFileLoader loads YAML files service definitions.
 | 
			
		||||
 *
 | 
			
		||||
 * Drupal does not use Symfony's Config component, so this is a partial copy
 | 
			
		||||
 * of \Symfony\Component\DependencyInjection\Loader\YamlFileLoader class not
 | 
			
		||||
 * depending on the Config component.
 | 
			
		||||
 */
 | 
			
		||||
class YamlFileLoader {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * @param \Drupal\Core\DependencyInjection\ContainerBuilder $container
 | 
			
		||||
   */
 | 
			
		||||
  protected $container;
 | 
			
		||||
 | 
			
		||||
  public function __construct(ContainerBuilder $container) {
 | 
			
		||||
    $this->container = $container;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Load a YAML file containing service definitions and kernel parameters.
 | 
			
		||||
   *
 | 
			
		||||
   * string $filename
 | 
			
		||||
   *   The name of the file to load.
 | 
			
		||||
   */
 | 
			
		||||
  public function load($filename) {
 | 
			
		||||
    $content = $this->loadFile($filename);
 | 
			
		||||
    $content += array('parameters' => array(), 'services' => array());
 | 
			
		||||
    // parameters
 | 
			
		||||
    foreach ($content['parameters'] as $key => $value) {
 | 
			
		||||
      $this->container->setParameter($key, $this->resolveServices($value));
 | 
			
		||||
    }
 | 
			
		||||
    // services
 | 
			
		||||
    foreach ($content['services'] as $id => $service) {
 | 
			
		||||
      $this->parseDefinition($id, $service, $filename);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Parses a definition.
 | 
			
		||||
   *
 | 
			
		||||
   * Copied from \Symfony\Component\DependencyInjection\Loader\YamlFileLoader::parseDefinition().
 | 
			
		||||
   *
 | 
			
		||||
   * @param string $id
 | 
			
		||||
   *   The id of the service.
 | 
			
		||||
   * @param string|array $service
 | 
			
		||||
   *   Either a string starting with a @ meaning this service is an alias or
 | 
			
		||||
   *   the array defining the service.
 | 
			
		||||
   * @param string $filename
 | 
			
		||||
   *   The name of the file, only used in error messages.
 | 
			
		||||
   *
 | 
			
		||||
   * @throws \InvalidArgumentException When tags are invalid
 | 
			
		||||
   */
 | 
			
		||||
  protected function parseDefinition($id, $service, $filename) {
 | 
			
		||||
    if (is_string($service) && 0 === strpos($service, '@')) {
 | 
			
		||||
      $this->container->setAlias($id, substr($service, 1));
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
    elseif (isset($service['alias'])) {
 | 
			
		||||
      $public = !array_key_exists('public', $service) || (Boolean) $service['public'];
 | 
			
		||||
      $this->container->setAlias($id, new Alias($service['alias'], $public));
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
    if (isset($service['parent'])) {
 | 
			
		||||
      $definition = new DefinitionDecorator($service['parent']);
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
      $definition = new Definition();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['class'])) {
 | 
			
		||||
      $definition->setClass($service['class']);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['scope'])) {
 | 
			
		||||
      $definition->setScope($service['scope']);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['synthetic'])) {
 | 
			
		||||
      $definition->setSynthetic($service['synthetic']);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['public'])) {
 | 
			
		||||
      $definition->setPublic($service['public']);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['abstract'])) {
 | 
			
		||||
      $definition->setAbstract($service['abstract']);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['factory_class'])) {
 | 
			
		||||
      $definition->setFactoryClass($service['factory_class']);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['factory_method'])) {
 | 
			
		||||
      $definition->setFactoryMethod($service['factory_method']);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['factory_service'])) {
 | 
			
		||||
      $definition->setFactoryService($service['factory_service']);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['file'])) {
 | 
			
		||||
      $definition->setFile($service['file']);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['arguments'])) {
 | 
			
		||||
      $definition->setArguments($this->resolveServices($service['arguments']));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['properties'])) {
 | 
			
		||||
      $definition->setProperties($this->resolveServices($service['properties']));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['configurator'])) {
 | 
			
		||||
      if (is_string($service['configurator'])) {
 | 
			
		||||
        $definition->setConfigurator($service['configurator']);
 | 
			
		||||
      }
 | 
			
		||||
      else {
 | 
			
		||||
        $definition->setConfigurator(array($this->resolveServices($service['configurator'][0]), $service['configurator'][1]));
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['calls'])) {
 | 
			
		||||
      foreach ($service['calls'] as $call) {
 | 
			
		||||
        $args = isset($call[1]) ? $this->resolveServices($call[1]) : array();
 | 
			
		||||
        $definition->addMethodCall($call[0], $args);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (isset($service['tags'])) {
 | 
			
		||||
      if (!is_array($service['tags'])) {
 | 
			
		||||
        throw new \InvalidArgumentException(sprintf('Parameter "tags" must be an array for service "%s" in %s.', $id, $filename));
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      foreach ($service['tags'] as $tag) {
 | 
			
		||||
        if (!isset($tag['name'])) {
 | 
			
		||||
          throw new \InvalidArgumentException(sprintf('A "tags" entry is missing a "name" key for service "%s" in %s.', $id, $filename));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        $name = $tag['name'];
 | 
			
		||||
        unset($tag['name']);
 | 
			
		||||
 | 
			
		||||
        foreach ($tag as $value) {
 | 
			
		||||
          if (!is_scalar($value)) {
 | 
			
		||||
            throw new \InvalidArgumentException(sprintf('A "tags" attribute must be of a scalar-type for service "%s", tag "%s" in %s.', $id, $name, $filename));
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        $definition->addTag($name, $tag);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    $this->container->setDefinition($id, $definition);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Loads a YAML file.
 | 
			
		||||
   *
 | 
			
		||||
   * @param string $filename
 | 
			
		||||
   *
 | 
			
		||||
   * @return array
 | 
			
		||||
   *   The file content.
 | 
			
		||||
   */
 | 
			
		||||
  protected function loadFile($filename) {
 | 
			
		||||
    $parser = new Parser();
 | 
			
		||||
    return $this->validate($parser->parse(file_get_contents($filename)), $filename);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Validates a YAML file.
 | 
			
		||||
   *
 | 
			
		||||
   * @param mixed $content
 | 
			
		||||
   *   The parsed YAML file.
 | 
			
		||||
   * @param string $filename
 | 
			
		||||
   *   The name of the file, only used for error messages.
 | 
			
		||||
   *
 | 
			
		||||
   * @return array
 | 
			
		||||
   *   The $content unchanged returned to allow for chaining this method.
 | 
			
		||||
   *
 | 
			
		||||
   * @throws \InvalidArgumentException When service file is not valid
 | 
			
		||||
   */
 | 
			
		||||
  protected function validate($content, $filename) {
 | 
			
		||||
    if (NULL === $content) {
 | 
			
		||||
      return $content;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (!is_array($content)) {
 | 
			
		||||
      throw new \InvalidArgumentException(sprintf('The service file "%s" is not valid: it is not an array.', $filename));
 | 
			
		||||
    }
 | 
			
		||||
    if ($keys = array_diff_key($content, array('parameters' => TRUE, 'services' => TRUE))) {
 | 
			
		||||
      $invalid_keys = htmlspecialchars(implode(', ', $keys), ENT_QUOTES, 'UTF-8');
 | 
			
		||||
      throw new \InvalidArgumentException(sprintf('The service file "%s" is not valid: it contains invalid keys %s.', $filename, $invalid_keys));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return $content;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Resolves services.
 | 
			
		||||
   *
 | 
			
		||||
   * Copied from \Symfony\Component\DependencyInjection\Loader\YamlFileLoader::parseDefinition().
 | 
			
		||||
   *
 | 
			
		||||
   * @param mixed $value
 | 
			
		||||
   *   If a string, then it is either a plain string (for example a class
 | 
			
		||||
   *   name) or a reference to a service. If it's an array then it's a list of
 | 
			
		||||
   *   such strings.
 | 
			
		||||
   *
 | 
			
		||||
   * @return string|\Symfony\Component\DependencyInjection\Reference
 | 
			
		||||
   *   Either the string unchanged or the Reference object.
 | 
			
		||||
   */
 | 
			
		||||
  protected function resolveServices($value) {
 | 
			
		||||
    if (is_array($value)) {
 | 
			
		||||
      $value = array_map(array($this, 'resolveServices'), $value);
 | 
			
		||||
    }
 | 
			
		||||
    elseif (is_string($value) && 0 === strpos($value, '@')) {
 | 
			
		||||
      if (0 === strpos($value, '@?')) {
 | 
			
		||||
        $value = substr($value, 2);
 | 
			
		||||
        $invalidBehavior = ContainerInterface::IGNORE_ON_INVALID_REFERENCE;
 | 
			
		||||
      }
 | 
			
		||||
      else {
 | 
			
		||||
        $value = substr($value, 1);
 | 
			
		||||
        $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if ('=' === substr($value, -1)) {
 | 
			
		||||
        $value = substr($value, 0, -1);
 | 
			
		||||
        $strict = FALSE;
 | 
			
		||||
      }
 | 
			
		||||
      else {
 | 
			
		||||
        $strict = TRUE;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      $value = new Reference($value, $invalidBehavior, $strict);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return $value;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ use Drupal\Component\PhpStorage\PhpStorageFactory;
 | 
			
		|||
use Drupal\Core\Config\BootstrapConfigStorageFactory;
 | 
			
		||||
use Drupal\Core\CoreBundle;
 | 
			
		||||
use Drupal\Core\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Drupal\Core\DependencyInjection\YamlFileLoader;
 | 
			
		||||
use Symfony\Component\ClassLoader\ClassLoader;
 | 
			
		||||
use Symfony\Component\Config\Loader\LoaderInterface;
 | 
			
		||||
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
 | 
			
		||||
| 
						 | 
				
			
			@ -99,6 +100,13 @@ class DrupalKernel extends Kernel implements DrupalKernelInterface {
 | 
			
		|||
   */
 | 
			
		||||
  protected $containerNeedsDumping;
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Holds the list of YAML files containing service definitions.
 | 
			
		||||
   *
 | 
			
		||||
   * @var array
 | 
			
		||||
   */
 | 
			
		||||
  protected $serviceYamls;
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Constructs a DrupalKernel object.
 | 
			
		||||
   *
 | 
			
		||||
| 
						 | 
				
			
			@ -160,6 +168,9 @@ class DrupalKernel extends Kernel implements DrupalKernelInterface {
 | 
			
		|||
    $bundles = array(
 | 
			
		||||
      new CoreBundle(),
 | 
			
		||||
    );
 | 
			
		||||
    $this->serviceYamls = array(
 | 
			
		||||
      'core/core.services.yml'
 | 
			
		||||
    );
 | 
			
		||||
    $this->bundleClasses = array('Drupal\Core\CoreBundle');
 | 
			
		||||
 | 
			
		||||
    // Ensure we know what modules are enabled and that their namespaces are
 | 
			
		||||
| 
						 | 
				
			
			@ -168,7 +179,8 @@ class DrupalKernel extends Kernel implements DrupalKernelInterface {
 | 
			
		|||
      $module_list = $this->configStorage->read('system.module');
 | 
			
		||||
      $this->moduleList = isset($module_list['enabled']) ? $module_list['enabled'] : array();
 | 
			
		||||
    }
 | 
			
		||||
    $this->registerNamespaces($this->getModuleNamespaces($this->getModuleFileNames()));
 | 
			
		||||
    $module_filenames = $this->getModuleFileNames();
 | 
			
		||||
    $this->registerNamespaces($this->getModuleNamespaces($module_filenames));
 | 
			
		||||
 | 
			
		||||
    // Load each module's bundle class.
 | 
			
		||||
    foreach ($this->moduleList as $module => $weight) {
 | 
			
		||||
| 
						 | 
				
			
			@ -178,6 +190,10 @@ class DrupalKernel extends Kernel implements DrupalKernelInterface {
 | 
			
		|||
        $bundles[] = new $class();
 | 
			
		||||
        $this->bundleClasses[] = $class;
 | 
			
		||||
      }
 | 
			
		||||
      $filename = dirname($module_filenames[$module]) . "/$module.services.yml";
 | 
			
		||||
      if (file_exists($filename)) {
 | 
			
		||||
        $this->serviceYamls[] = $filename;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Add site specific or test bundles.
 | 
			
		||||
| 
						 | 
				
			
			@ -187,6 +203,10 @@ class DrupalKernel extends Kernel implements DrupalKernelInterface {
 | 
			
		|||
        $this->bundleClasses[] = $class;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    // Add site specific or test YAMLs.
 | 
			
		||||
    if (!empty($GLOBALS['conf']['container_yamls'])) {
 | 
			
		||||
      $this->serviceYamls = array_merge($this->serviceYamls, $GLOBALS['conf']['container_yamls']);
 | 
			
		||||
    }
 | 
			
		||||
    return $bundles;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -379,6 +399,10 @@ class DrupalKernel extends Kernel implements DrupalKernelInterface {
 | 
			
		|||
    $container->register('class_loader', 'Symfony\Component\ClassLoader\ClassLoader')->setSynthetic(TRUE);
 | 
			
		||||
    $container->register('kernel', 'Symfony\Component\HttpKernel\KernelInterface')->setSynthetic(TRUE);
 | 
			
		||||
    $container->register('service_container', 'Symfony\Component\DependencyInjection\ContainerInterface')->setSynthetic(TRUE);
 | 
			
		||||
    $yaml_loader = new YamlFileLoader($container);
 | 
			
		||||
    foreach ($this->serviceYamls as $filename) {
 | 
			
		||||
      $yaml_loader->load($filename);
 | 
			
		||||
    }
 | 
			
		||||
    foreach ($this->bundles as $bundle) {
 | 
			
		||||
      $bundle->build($container);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,10 @@
 | 
			
		|||
services:
 | 
			
		||||
  plugin.manager.aggregator.fetcher:
 | 
			
		||||
    class: Drupal\aggregator\Plugin\AggregatorPluginManager
 | 
			
		||||
    arguments: [fetcher, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.aggregator.parser:
 | 
			
		||||
    class: Drupal\aggregator\Plugin\AggregatorPluginManager
 | 
			
		||||
    arguments: [parser, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.aggregator.processor:
 | 
			
		||||
    class: Drupal\aggregator\Plugin\AggregatorPluginManager
 | 
			
		||||
    arguments: [processor, '%container.namespaces%']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,29 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\aggregator\AggregatorBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\aggregator;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Registers aggregator module's services to the container.
 | 
			
		||||
 */
 | 
			
		||||
class AggregatorBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    foreach (array('fetcher', 'parser', 'processor') as $type) {
 | 
			
		||||
      $container->register("plugin.manager.aggregator.$type", 'Drupal\aggregator\Plugin\AggregatorPluginManager')
 | 
			
		||||
        ->addArgument($type)
 | 
			
		||||
        ->addArgument('%container.namespaces%');
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
services:
 | 
			
		||||
  ban.ip_manager:
 | 
			
		||||
    class: Drupal\ban\BanIpManager
 | 
			
		||||
    arguments: ['@database']
 | 
			
		||||
  ban.subscriber:
 | 
			
		||||
    class: Drupal\ban\EventSubscriber\BanSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    arguments: ['@ban.ip_manager']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,29 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Definition of Drupal\ban\BanBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\ban;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Defines the Ban bundle.
 | 
			
		||||
 */
 | 
			
		||||
class BanBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('ban.ip_manager', 'Drupal\ban\BanIpManager')
 | 
			
		||||
      ->addArgument(new Reference('database'));
 | 
			
		||||
    $container->register('ban.subscriber', 'Drupal\ban\EventSubscriber\BanSubscriber')
 | 
			
		||||
      ->addArgument(new Reference('ban.ip_manager'))
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
services:
 | 
			
		||||
  plugin.manager.block:
 | 
			
		||||
    class: Drupal\block\Plugin\Type\BlockManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
  cache.block:
 | 
			
		||||
    class: Drupal\Core\Cache\CacheBackendInterface
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: cache.bin }
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: cache_factory
 | 
			
		||||
    arguments: [block]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,29 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\block\BlockBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\Block;
 | 
			
		||||
 | 
			
		||||
use Drupal\Core\Cache\CacheFactory;
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Provides the block dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class BlockBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides \Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    // Register the BlockManager class with the dependency injection container.
 | 
			
		||||
    $container->register('plugin.manager.block', 'Drupal\block\Plugin\Type\BlockManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
    CacheFactory::registerBin($container, 'block');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
services:
 | 
			
		||||
  plugin.manager.ckeditor.plugin:
 | 
			
		||||
    class: Drupal\ckeditor\CKEditorPluginManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,27 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\ckeditor\CKEditorBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\ckeditor;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * CKEditor dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class CKEditorBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('plugin.manager.ckeditor.plugin', 'Drupal\ckeditor\CKEditorPluginManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
services:
 | 
			
		||||
  plugin.manager.edit.editor:
 | 
			
		||||
    class: Drupal\edit\Plugin\EditorManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
  access_check.edit.entity_field:
 | 
			
		||||
    class: Drupal\edit\Access\EditEntityFieldAccessCheck
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: access_check }
 | 
			
		||||
  edit.editor.selector:
 | 
			
		||||
    class: Drupal\edit\EditorSelector
 | 
			
		||||
    arguments: ['@plugin.manager.edit.editor']
 | 
			
		||||
  edit.metadata.generator:
 | 
			
		||||
    class: Drupal\edit\MetadataGenerator
 | 
			
		||||
    arguments: ['@access_check.edit.entity_field', '@edit.editor.selector', '@plugin.manager.edit.editor']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,38 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\edit\EditBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\edit;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Edit dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class EditBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('plugin.manager.edit.editor', 'Drupal\edit\Plugin\EditorManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
 | 
			
		||||
    $container->register('access_check.edit.entity_field', 'Drupal\edit\Access\EditEntityFieldAccessCheck')
 | 
			
		||||
      ->addTag('access_check');
 | 
			
		||||
 | 
			
		||||
    $container->register('edit.editor.selector', 'Drupal\edit\EditorSelector')
 | 
			
		||||
      ->addArgument(new Reference('plugin.manager.edit.editor'));
 | 
			
		||||
 | 
			
		||||
    $container->register('edit.metadata.generator', 'Drupal\edit\MetadataGenerator')
 | 
			
		||||
      ->addArgument(new Reference('access_check.edit.entity_field'))
 | 
			
		||||
      ->addArgument(new Reference('edit.editor.selector'))
 | 
			
		||||
      ->addArgument(new Reference('plugin.manager.edit.editor'));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
services:
 | 
			
		||||
  plugin.manager.editor:
 | 
			
		||||
    class: Drupal\editor\Plugin\EditorManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,28 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\editor\EditorBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\editor;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Editor dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class EditorBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    // Register the plugin manager for our plugin type with the dependency
 | 
			
		||||
    // injection container.
 | 
			
		||||
    $container->register('plugin.manager.editor', 'Drupal\editor\Plugin\EditorManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
services:
 | 
			
		||||
  plugin.manager.entity_reference.selection:
 | 
			
		||||
    class: Drupal\entity_reference\Plugin\Type\SelectionPluginManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
  entity_reference.autocomplete:
 | 
			
		||||
    class: Drupal\entity_reference\EntityReferenceAutocomplete
 | 
			
		||||
    arguments: ['@plugin.manager.entity']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,30 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\entity_reference\EntityReferenceBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\entity_reference;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Entity Reference dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class EntityReferenceBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    // Register the SelectionPluginManager class and the autocomplete helper
 | 
			
		||||
    // with the dependency injection container.
 | 
			
		||||
    $container->register('plugin.manager.entity_reference.selection', 'Drupal\entity_reference\Plugin\Type\SelectionPluginManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
    $container->register('entity_reference.autocomplete', 'Drupal\entity_reference\EntityReferenceAutocomplete')
 | 
			
		||||
      ->addArgument(new Reference('plugin.manager.entity'));
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
services:
 | 
			
		||||
  plugin.manager.field.widget:
 | 
			
		||||
    class: Drupal\field\Plugin\Type\Widget\WidgetPluginManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
  plugin.manager.field.formatter:
 | 
			
		||||
    class: Drupal\field\Plugin\Type\Formatter\FormatterPluginManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
  cache.field:
 | 
			
		||||
    class: Drupal\Core\Cache\CacheBackendInterface
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: cache.bin }
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: cache_factory
 | 
			
		||||
    arguments: [field]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,31 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains Drupal\field\FieldBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\field;
 | 
			
		||||
 | 
			
		||||
use Drupal\Core\Cache\CacheFactory;
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Field dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class FieldBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    // Register the plugin managers for our plugin types with the dependency injection container.
 | 
			
		||||
    $container->register('plugin.manager.field.widget', 'Drupal\field\Plugin\Type\Widget\WidgetPluginManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
    $container->register('plugin.manager.field.formatter', 'Drupal\field\Plugin\Type\Formatter\FormatterPluginManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
    CacheFactory::registerBin($container, 'field');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
services:
 | 
			
		||||
  entity.query.field_sql_storage:
 | 
			
		||||
    class: Drupal\field_sql_storage\Entity\QueryFactory
 | 
			
		||||
    arguments: ['@database']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,22 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Definition of Drupal\field_sql_storage\FieldSqlStorageBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\field_sql_storage;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
 | 
			
		||||
class FieldSqlStorageBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('entity.query.field_sql_storage', 'Drupal\field_sql_storage\Entity\QueryFactory')
 | 
			
		||||
      ->addArgument(new Reference('database'));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
services:
 | 
			
		||||
  file.usage:
 | 
			
		||||
    class: Drupal\file\FileUsage\DatabaseFileUsageBackend
 | 
			
		||||
    arguments: ['@database']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,19 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Definition of Drupal\file\FileBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\file;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
 | 
			
		||||
class FileBundle extends Bundle {
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('file.usage', 'Drupal\file\FileUsage\DatabaseFileUsageBackend')
 | 
			
		||||
      ->addArgument(new Reference('database'));
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,12 @@
 | 
			
		|||
services:
 | 
			
		||||
  cache.filter:
 | 
			
		||||
    class: Drupal\Core\Cache\CacheBackendInterface
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: cache.bin }
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: cache_factory
 | 
			
		||||
    arguments: [filter]
 | 
			
		||||
  access_check.filter_disable:
 | 
			
		||||
    class: Drupal\filter\Access\FormatDisableCheck
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: access_check }
 | 
			
		||||
| 
						 | 
				
			
			@ -1,29 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\filter\FilterBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\filter;
 | 
			
		||||
 | 
			
		||||
use Drupal\Core\Cache\CacheFactory;
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Registers filter module's services to the container.
 | 
			
		||||
 */
 | 
			
		||||
class FilterBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    CacheFactory::registerBin($container, 'filter');
 | 
			
		||||
 | 
			
		||||
    $container->register('access_check.filter_disable', 'Drupal\filter\Access\FormatDisableCheck')
 | 
			
		||||
      ->addTag('access_check');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
services:
 | 
			
		||||
  serializer.normalizer.entity_reference_item.hal:
 | 
			
		||||
    class: Drupal\hal\Normalizer\EntityReferenceItemNormalizer
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: normalizer, priority: 10 }
 | 
			
		||||
    calls:
 | 
			
		||||
      - [setLinkManager, ['@rest.link_manager']]
 | 
			
		||||
  serializer.normalizer.field_item.hal:
 | 
			
		||||
    class: Drupal\hal\Normalizer\FieldItemNormalizer
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: normalizer, priority: 10 }
 | 
			
		||||
    calls:
 | 
			
		||||
      - [setLinkManager, ['@rest.link_manager']]
 | 
			
		||||
  serializer.normalizer.field.hal:
 | 
			
		||||
    class: Drupal\hal\Normalizer\FieldNormalizer
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: normalizer, priority: 10 }
 | 
			
		||||
    calls:
 | 
			
		||||
      - [setLinkManager, ['@rest.link_manager']]
 | 
			
		||||
  serializer.normalizer.entity.hal:
 | 
			
		||||
    class: Drupal\hal\Normalizer\EntityNormalizer
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: normalizer, priority: 10 }
 | 
			
		||||
    calls:
 | 
			
		||||
      - [setLinkManager, ['@rest.link_manager']]
 | 
			
		||||
  serializer.encoder.hal:
 | 
			
		||||
    class: Drupal\hal\Encoder\JsonEncoder
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: encoder, priority: 10, format: hal_json }
 | 
			
		||||
  hal.subscriber:
 | 
			
		||||
    class: Drupal\hal\HalSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
| 
						 | 
				
			
			@ -1,49 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\hal\HalBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\hal;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * HAL dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class HalBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides \Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $priority = 10;
 | 
			
		||||
 | 
			
		||||
    $container->register('serializer.normalizer.entity_reference_item.hal', 'Drupal\hal\Normalizer\EntityReferenceItemNormalizer')
 | 
			
		||||
      ->addMethodCall('setLinkManager', array(new Reference('rest.link_manager')))
 | 
			
		||||
      ->addTag('normalizer', array('priority' => $priority));
 | 
			
		||||
    $container->register('serializer.normalizer.field_item.hal', 'Drupal\hal\Normalizer\FieldItemNormalizer')
 | 
			
		||||
      ->addMethodCall('setLinkManager', array(new Reference('rest.link_manager')))
 | 
			
		||||
      ->addTag('normalizer', array('priority' => $priority));
 | 
			
		||||
    $container->register('serializer.normalizer.field.hal', 'Drupal\hal\Normalizer\FieldNormalizer')
 | 
			
		||||
      ->addMethodCall('setLinkManager', array(new Reference('rest.link_manager')))
 | 
			
		||||
      ->addTag('normalizer', array('priority' => $priority));
 | 
			
		||||
    $container->register('serializer.normalizer.entity.hal', 'Drupal\hal\Normalizer\EntityNormalizer')
 | 
			
		||||
      ->addMethodCall('setLinkManager', array(new Reference('rest.link_manager')))
 | 
			
		||||
      ->addTag('normalizer', array('priority' => $priority));
 | 
			
		||||
 | 
			
		||||
    $container->register('serializer.encoder.hal', 'Drupal\hal\Encoder\JsonEncoder')
 | 
			
		||||
      ->addTag('encoder', array(
 | 
			
		||||
        'priority' => $priority,
 | 
			
		||||
        'format' => array(
 | 
			
		||||
          'hal_json' => 'HAL (JSON)',
 | 
			
		||||
        ),
 | 
			
		||||
      ));
 | 
			
		||||
 | 
			
		||||
    $container->register('hal.subscriber', 'Drupal\hal\HalSubscriber')
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,39 @@
 | 
			
		|||
# Normalizers can be specified to support a particular class and format in
 | 
			
		||||
# Normalizer::supportsNormalization(). Since the first matching Normalizer
 | 
			
		||||
# is used, Normalizers should be ordered from most specific to least
 | 
			
		||||
# specific.
 | 
			
		||||
services:
 | 
			
		||||
  serializer.normalizer.entity_reference.jsonld:
 | 
			
		||||
    class: Drupal\jsonld\JsonldEntityReferenceNormalizer
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: normalizer, priority: 5 }
 | 
			
		||||
    arguments: ['@rdf.site_schema_manager', '@rdf.mapping_manager']
 | 
			
		||||
  serializer.normalizer.field_item.jsonld:
 | 
			
		||||
    class: Drupal\jsonld\JsonldFieldItemNormalizer
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: normalizer, priority: 5 }
 | 
			
		||||
    arguments: ['@rdf.site_schema_manager', '@rdf.mapping_manager']
 | 
			
		||||
  serializer.normalizer.entity.jsonld:
 | 
			
		||||
    class: Drupal\jsonld\JsonldEntityNormalizer
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: normalizer, priority: 5 }
 | 
			
		||||
    arguments: ['@rdf.site_schema_manager', '@rdf.mapping_manager']
 | 
			
		||||
  serializer.normalizer.rdf_schema.jsonld:
 | 
			
		||||
    class: Drupal\jsonld\JsonldRdfSchemaNormalizer
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: normalizer, priority: 5 }
 | 
			
		||||
    arguments: ['@rdf.site_schema_manager', '@rdf.mapping_manager']
 | 
			
		||||
# Add the encoder to the service container. Encoders can only specify which
 | 
			
		||||
# format they support in Encoder::supportsEncoding().
 | 
			
		||||
  serializer.encoder.jsonld:
 | 
			
		||||
    class: Drupal\jsonld\JsonldEncoder
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: encoder, priority: 5, format: jsonld }
 | 
			
		||||
  serializer.encoder.drupal_jsonld:
 | 
			
		||||
    class: Drupal\jsonld\JsonldEncoder
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: encoder, priority: 5, format: drupal_jsonld }
 | 
			
		||||
  jsonld.subscriber:
 | 
			
		||||
    class: Drupal\jsonld\EventSubscriber\JsonldSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
| 
						 | 
				
			
			@ -1,72 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Definition of Drupal\jsonld\JsonldBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\jsonld;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
use Symfony\Component\Serializer\Serializer;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Jsonld dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class JsonldBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $priority = 5;
 | 
			
		||||
 | 
			
		||||
    // Normalizers can be specified to support a particular class and format in
 | 
			
		||||
    // Normalizer::supportsNormalization(). Since the first matching Normalizer
 | 
			
		||||
    // is used, Normalizers should be ordered from most specific to least
 | 
			
		||||
    // specific.
 | 
			
		||||
    $normalizers = array(
 | 
			
		||||
      // Field Item.
 | 
			
		||||
      'entity_reference' => array(
 | 
			
		||||
        'jsonld' => 'Drupal\jsonld\JsonldEntityReferenceNormalizer',
 | 
			
		||||
      ),
 | 
			
		||||
      'field_item' => array(
 | 
			
		||||
        'jsonld' => 'Drupal\jsonld\JsonldFieldItemNormalizer',
 | 
			
		||||
      ),
 | 
			
		||||
      // Entity.
 | 
			
		||||
      'entity' => array(
 | 
			
		||||
        'jsonld' => 'Drupal\jsonld\JsonldEntityNormalizer',
 | 
			
		||||
      ),
 | 
			
		||||
      // RDF Schema.
 | 
			
		||||
      'rdf_schema' => array(
 | 
			
		||||
        'jsonld' => 'Drupal\jsonld\JsonldRdfSchemaNormalizer',
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // Add Normalizers to service container.
 | 
			
		||||
    foreach ($normalizers as $supported_class => $formats) {
 | 
			
		||||
      foreach ($formats as $format => $normalizer_class) {
 | 
			
		||||
        $container->register("serializer.normalizer.{$supported_class}.{$format}", $normalizer_class)
 | 
			
		||||
          ->addArgument(new Reference('rdf.site_schema_manager'))
 | 
			
		||||
          ->addArgument(new Reference('rdf.mapping_manager'))
 | 
			
		||||
          ->addTag('normalizer', array('priority' => $priority));
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Add the encoder to the service container. Encoders can only specify which
 | 
			
		||||
    // format they support in Encoder::supportsEncoding().
 | 
			
		||||
    $container->register('serializer.encoder.jsonld', 'Drupal\jsonld\JsonldEncoder')
 | 
			
		||||
      ->addTag('encoder', array(
 | 
			
		||||
        'priority' => $priority,
 | 
			
		||||
        'format' => array(
 | 
			
		||||
          'jsonld' => 'JSON-LD',
 | 
			
		||||
          'drupal_jsonld' => 'Drupal JSON-LD',
 | 
			
		||||
        ),
 | 
			
		||||
      ));
 | 
			
		||||
 | 
			
		||||
    $container->register('jsonld.subscriber', 'Drupal\jsonld\EventSubscriber\JsonldSubscriber')
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
services:
 | 
			
		||||
  path_processor_language:
 | 
			
		||||
    class: Drupal\language\HttpKernel\PathProcessorLanguage
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: path_processor_inbound, priority: 300 }
 | 
			
		||||
    arguments: ['@module_handler']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,29 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Definition of Drupal\language\LanguageBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\language;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * language dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class LanguageBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    // Register the language-based path processor.
 | 
			
		||||
    $container->register('path_processor_language', 'Drupal\language\HttpKernel\PathProcessorLanguage')
 | 
			
		||||
      ->addArgument(new Reference('module_handler'))
 | 
			
		||||
      ->addTag('path_processor_inbound', array('priority' => 300));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
services:
 | 
			
		||||
  plugin.manager.layout:
 | 
			
		||||
    class: Drupal\layout\Plugin\Type\LayoutManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,26 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Definition of Drupal\layout\LayoutBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\Layout;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Layout dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class LayoutBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    // Register the LayoutManager class with the dependency injection container.
 | 
			
		||||
    $container->register('plugin.manager.layout', 'Drupal\layout\Plugin\Type\LayoutManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,29 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\locale\LocaleBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\locale;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Registers locale module's services to the container.
 | 
			
		||||
 */
 | 
			
		||||
class LocaleBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Implements \Symfony\Component\HttpKernel\Bundle\BundleInterface::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('locale_config_subscriber', 'Drupal\locale\LocaleConfigSubscriber')
 | 
			
		||||
      ->addArgument(new Reference('language_manager'))
 | 
			
		||||
      ->addArgument(new Reference('config.context'))
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
services:
 | 
			
		||||
  locale_config_subscriber:
 | 
			
		||||
    class: Drupal\locale\LocaleConfigSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    arguments: ['@language_manager', '@config.context']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,39 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains RdfBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\rdf;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * RDF dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class RdfBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    // Site schema manager service.
 | 
			
		||||
    $container->register('rdf.site_schema_manager', 'Drupal\rdf\SiteSchema\SiteSchemaManager')
 | 
			
		||||
      ->addArgument(new Reference('cache.cache'));
 | 
			
		||||
    // Mapping manager service.
 | 
			
		||||
    $container->register('rdf.mapping_manager', 'Drupal\rdf\RdfMappingManager')
 | 
			
		||||
      ->addArgument(new Reference('event_dispatcher'))
 | 
			
		||||
      ->addArgument(new Reference('rdf.site_schema_manager'));
 | 
			
		||||
 | 
			
		||||
    // Mapping subscriber.
 | 
			
		||||
    $container->register('rdf.mapping', 'Drupal\rdf\EventSubscriber\MappingSubscriber')
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
    // Route subscriber.
 | 
			
		||||
    $container->register('rdf.route_subscriber', 'Drupal\rdf\EventSubscriber\RouteSubscriber')
 | 
			
		||||
      ->addArgument(new Reference('rdf.site_schema_manager'))
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
services:
 | 
			
		||||
  rdf.site_schema_manager:
 | 
			
		||||
    class: Drupal\rdf\SiteSchema\SiteSchemaManager
 | 
			
		||||
    arguments: ['@cache.cache']
 | 
			
		||||
  rdf.mapping_manager:
 | 
			
		||||
    class: Drupal\rdf\RdfMappingManager
 | 
			
		||||
    arguments: ['@event_dispatcher', '@rdf.site_schema_manager']
 | 
			
		||||
  rdf.mapping:
 | 
			
		||||
    class: Drupal\rdf\EventSubscriber\MappingSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
  rdf.route_subscriber:
 | 
			
		||||
    class: Drupal\rdf\EventSubscriber\RouteSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    arguments: ['@rdf.site_schema_manager']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,27 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains RdfTestMappingBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\rdf_test_mapping;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * RDF dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class RdfTestMappingBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    // Mapping subscriber.
 | 
			
		||||
    $container->register('rdf_test_mapping.mapping', 'Drupal\rdf_test_mapping\EventSubscriber\TestMappingSubscriber')
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
services:
 | 
			
		||||
  rdf_test_mapping.mapping:
 | 
			
		||||
    class: Drupal\rdf_test_mapping\EventSubscriber\TestMappingSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
| 
						 | 
				
			
			@ -69,7 +69,7 @@ abstract class ResourceBase extends PluginBase implements ResourceInterface {
 | 
			
		|||
          // Restrict GET and HEAD requests to the media type specified in the
 | 
			
		||||
          // HTTP Accept headers.
 | 
			
		||||
          $formats = drupal_container()->getParameter('serializer.formats');
 | 
			
		||||
          foreach ($formats as $format_name => $label) {
 | 
			
		||||
          foreach ($formats as $format_name) {
 | 
			
		||||
            // Expose one route per available format.
 | 
			
		||||
            //$format_route = new Route($route->getPattern(), $route->getDefaults(), $route->getRequirements());
 | 
			
		||||
            $format_route = clone $route;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,43 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Definition of Drupal\rest\RestBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\rest;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Rest dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class RestBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    // Register the resource manager class with the dependency injection
 | 
			
		||||
    // container.
 | 
			
		||||
    $container->register('plugin.manager.rest', 'Drupal\rest\Plugin\Type\ResourcePluginManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
 | 
			
		||||
    $container->register('rest.route_subscriber', 'Drupal\rest\EventSubscriber\RouteSubscriber')
 | 
			
		||||
      ->addArgument(new Reference('plugin.manager.rest'))
 | 
			
		||||
      ->addArgument(new Reference('config.factory'))
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
 | 
			
		||||
    $container->register('access_check.rest.csrf', 'Drupal\rest\Access\CSRFAccessCheck')
 | 
			
		||||
      ->addTag('access_check');
 | 
			
		||||
 | 
			
		||||
    $container->register('rest.link_manager', 'Drupal\rest\LinkManager\LinkManager')
 | 
			
		||||
      ->addArgument(new Reference('rest.link_manager.type'))
 | 
			
		||||
      ->addArgument(new Reference('rest.link_manager.relation'));
 | 
			
		||||
    $container->register('rest.link_manager.type', 'Drupal\rest\LinkManager\TypeLinkManager')
 | 
			
		||||
      ->addArgument(new Reference('cache.cache'));
 | 
			
		||||
    $container->register('rest.link_manager.relation', 'Drupal\rest\LinkManager\RelationLinkManager');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
services:
 | 
			
		||||
  plugin.manager.rest:
 | 
			
		||||
    class: Drupal\rest\Plugin\Type\ResourcePluginManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
  rest.route_subscriber:
 | 
			
		||||
    class: Drupal\rest\EventSubscriber\RouteSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
    arguments: ['@plugin.manager.rest', '@config.factory']
 | 
			
		||||
  access_check.rest.csrf:
 | 
			
		||||
    class: Drupal\rest\Access\CSRFAccessCheck
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: access_check }
 | 
			
		||||
  rest.link_manager:
 | 
			
		||||
    class: Drupal\rest\LinkManager\LinkManager
 | 
			
		||||
    arguments: ['@rest.link_manager.type', '@rest.link_manager.relation']
 | 
			
		||||
  rest.link_manager.type:
 | 
			
		||||
    class: Drupal\rest\LinkManager\TypeLinkManager
 | 
			
		||||
    arguments: ['@cache.cache']
 | 
			
		||||
  rest.link_manager.relation:
 | 
			
		||||
    class: Drupal\rest\LinkManager\RelationLinkManager
 | 
			
		||||
| 
						 | 
				
			
			@ -46,9 +46,7 @@ class RegisterSerializationClassesCompilerPass implements CompilerPassInterface
 | 
			
		|||
    // Find all serialization formats known.
 | 
			
		||||
    $formats = array();
 | 
			
		||||
    foreach ($container->findTaggedServiceIds('encoder') as $id => $attributes) {
 | 
			
		||||
      foreach ($attributes[0]['format'] as $name => $label) {
 | 
			
		||||
        $formats[$name] = $label;
 | 
			
		||||
      }
 | 
			
		||||
      $formats[] = $attributes[0]['format'];
 | 
			
		||||
    }
 | 
			
		||||
    $container->setParameter('serializer.formats', $formats);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,20 +19,6 @@ class SerializationBundle extends Bundle {
 | 
			
		|||
   * Overrides \Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    // Add Serializer with arguments to be replaced in the compiler pass.
 | 
			
		||||
    $container->register('serializer', 'Symfony\Component\Serializer\Serializer')
 | 
			
		||||
      ->addArgument(array())
 | 
			
		||||
      ->addArgument(array());
 | 
			
		||||
 | 
			
		||||
    $container->register('serializer.normalizer.complex_data', 'Drupal\serialization\Normalizer\ComplexDataNormalizer')->addTag('normalizer');
 | 
			
		||||
    $container->register('serializer.normalizer.list', 'Drupal\serialization\Normalizer\ListNormalizer')->addTag('normalizer');
 | 
			
		||||
    $container->register('serializer.normalizer.typed_data', 'Drupal\serialization\Normalizer\TypedDataNormalizer')->addTag('normalizer');
 | 
			
		||||
 | 
			
		||||
    $container->register('serializer.encoder.json', 'Drupal\serialization\Encoder\JsonEncoder')
 | 
			
		||||
      ->addTag('encoder', array('format' => array('json' => 'JSON')));
 | 
			
		||||
    $container->register('serializer.encoder.xml', 'Drupal\serialization\Encoder\XmlEncoder')
 | 
			
		||||
      ->addTag('encoder', array('format' => array('xml' => 'XML')));
 | 
			
		||||
 | 
			
		||||
    // Add a compiler pass for adding Normalizers and Encoders to Serializer.
 | 
			
		||||
    $container->addCompilerPass(new RegisterSerializationClassesCompilerPass());
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,24 @@
 | 
			
		|||
services:
 | 
			
		||||
  serializer:
 | 
			
		||||
    class: Symfony\Component\Serializer\Serializer
 | 
			
		||||
    arguments: [{  }, {  }]
 | 
			
		||||
  serializer.normalizer.complex_data:
 | 
			
		||||
    class: Drupal\serialization\Normalizer\ComplexDataNormalizer
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: normalizer }
 | 
			
		||||
  serializer.normalizer.list:
 | 
			
		||||
    class: Drupal\serialization\Normalizer\ListNormalizer
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: normalizer }
 | 
			
		||||
  serializer.normalizer.typed_data:
 | 
			
		||||
    class: Drupal\serialization\Normalizer\TypedDataNormalizer
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: normalizer }
 | 
			
		||||
  serializer.encoder.json:
 | 
			
		||||
    class: Drupal\serialization\Encoder\JsonEncoder
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: encoder, format: json }
 | 
			
		||||
  serializer.encoder.xml:
 | 
			
		||||
    class: Drupal\serialization\Encoder\XmlEncoder
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: encoder, format: xml }
 | 
			
		||||
| 
						 | 
				
			
			@ -1,26 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\serialization_test\SerializationTestBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\serialization_test;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * SerializationTest dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class SerializationTestBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('serializer.normalizer.serialization_test', 'Drupal\serialization_test\SerializationTestNormalizer')->addTag('normalizer');
 | 
			
		||||
    $container->register('serializer.encoder.serialization_test', 'Drupal\serialization_test\SerializationTestEncoder')
 | 
			
		||||
      ->addTag('encoder', array('format' => array('serialization_test' => 'Serialization test')));
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
services:
 | 
			
		||||
  serializer.normalizer.serialization_test:
 | 
			
		||||
    class: Drupal\serialization_test\SerializationTestNormalizer
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: normalizer }
 | 
			
		||||
  serializer.encoder.serialization_test:
 | 
			
		||||
    class: Drupal\serialization_test\SerializationTestEncoder
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: encoder, format: serialization_test}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,30 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains Drupal\system\SystemBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\system;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * System dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class SystemBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('access_check.cron', 'Drupal\system\Access\CronAccessCheck')
 | 
			
		||||
      ->addTag('access_check');
 | 
			
		||||
 | 
			
		||||
    // Register the various system plugin manager classes with the dependency
 | 
			
		||||
    // injection container.
 | 
			
		||||
    $container->register('plugin.manager.system.plugin_ui', 'Drupal\system\Plugin\Type\PluginUIManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -2017,7 +2017,7 @@ function system_update_8046() {
 | 
			
		|||
    $module_list = drupal_container()->getParameter('container.modules');
 | 
			
		||||
    drupal_load('module', 'views');
 | 
			
		||||
 | 
			
		||||
    drupal_container()->get('kernel')->updateModules(array_keys($module_list), array('views' => 'core/modules/views/views.module'));
 | 
			
		||||
    drupal_container()->get('kernel')->updateModules($module_list, array('views' => 'core/modules/views/views.module'));
 | 
			
		||||
 | 
			
		||||
    // This does not fire a hook just calls views.
 | 
			
		||||
    config_install_default_config('module', 'views');
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
services:
 | 
			
		||||
  access_check.cron:
 | 
			
		||||
    class: Drupal\system\Access\CronAccessCheck
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: access_check }
 | 
			
		||||
  plugin.manager.system.plugin_ui:
 | 
			
		||||
    class: Drupal\system\Plugin\Type\PluginUIManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
services:
 | 
			
		||||
  bundle_test_class:
 | 
			
		||||
    class: Drupal\bundle_test\TestClass
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
      - { name: needs_destruction }
 | 
			
		||||
    arguments: ['@state']
 | 
			
		||||
  file.usage:
 | 
			
		||||
    class: Drupal\bundle_test\TestFileUsage
 | 
			
		||||
| 
						 | 
				
			
			@ -1,29 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Definition of Drupal\bundle_test\BundleTestBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\bundle_test;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\Definition;
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Test bundle class.
 | 
			
		||||
 */
 | 
			
		||||
class BundleTestBundle extends Bundle
 | 
			
		||||
{
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('bundle_test_class', 'Drupal\bundle_test\TestClass')
 | 
			
		||||
      ->addArgument(new Reference('state'))
 | 
			
		||||
      ->addTag('event_subscriber')
 | 
			
		||||
      ->addTag('needs_destruction');
 | 
			
		||||
 | 
			
		||||
    // Override a default bundle used by core to a dummy class.
 | 
			
		||||
    $container->register('file.usage', 'Drupal\bundle_test\TestFileUsage');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
services:
 | 
			
		||||
  form_test.form.serviceform:
 | 
			
		||||
    class: Drupal\form_test\FormTestServiceObject
 | 
			
		||||
| 
						 | 
				
			
			@ -1,26 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\form_test\FormTestndle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\form_test;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Form test dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class FormTestBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides \Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('form_test.form.serviceForm', 'Drupal\form_test\FormTestServiceObject');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,25 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\session_test\SessionTestBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\session_test;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Defines the SessionTest bundle.
 | 
			
		||||
 */
 | 
			
		||||
class SessionTestBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides \Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('session_test.subscriber', 'Drupal\session_test\EventSubscriber\SessionTestSubscriber')
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
services:
 | 
			
		||||
  session_test.subscriber:
 | 
			
		||||
    class: Drupal\session_test\EventSubscriber\SessionTestSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
| 
						 | 
				
			
			@ -1,27 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains Drupal\url_alter_test\UrlAlterTestBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\url_alter_test;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Test bundle class for url_alter_test.
 | 
			
		||||
 *
 | 
			
		||||
 * Used to register an event subscriber that resolves a path alias to a system
 | 
			
		||||
 * path based on an arbitrary set of rules.
 | 
			
		||||
 *
 | 
			
		||||
 * @see \Drupal\url_alter_test\PathSubscriber
 | 
			
		||||
 */
 | 
			
		||||
class UrlAlterTestBundle extends Bundle
 | 
			
		||||
{
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('url_alter_test.path_subscriber', 'Drupal\url_alter_test\PathSubscriber')
 | 
			
		||||
      ->addTag('event_subscriber');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
services:
 | 
			
		||||
  url_alter_test.path_subscriber:
 | 
			
		||||
    class: Drupal\url_alter_test\PathSubscriber
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: event_subscriber }
 | 
			
		||||
| 
						 | 
				
			
			@ -1,26 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\toolbar\ToolbarBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\toolbar;
 | 
			
		||||
 | 
			
		||||
use Drupal\Core\Cache\CacheFactory;
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Registers toolbar module's services to the container.
 | 
			
		||||
 */
 | 
			
		||||
class ToolbarBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides \Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    CacheFactory::registerBin($container, 'toolbar');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
services:
 | 
			
		||||
  cache.toolbar:
 | 
			
		||||
    class: Drupal\Core\Cache\CacheBackendInterface
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: cache.bin }
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: cache_factory
 | 
			
		||||
    arguments: [toolbar]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,28 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\tour\TourBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\tour;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tour dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class TourBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides \Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    // Register the plugin manager for our plugin type with the dependency
 | 
			
		||||
    // injection container.
 | 
			
		||||
    $container->register('plugin.manager.tour.tip', 'Drupal\tour\TipPluginManager')
 | 
			
		||||
      ->addArgument('%container.namespaces%');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
services:
 | 
			
		||||
  plugin.manager.tour.tip:
 | 
			
		||||
    class: Drupal\tour\TipPluginManager
 | 
			
		||||
    arguments: ['%container.namespaces%']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,27 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\translation_entity\TranslationEntityBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\translation_entity;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Registers locale module's services to the container.
 | 
			
		||||
 */
 | 
			
		||||
class TranslationEntityBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Implements \Symfony\Component\HttpKernel\Bundle\BundleInterface::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('translation_entity.synchronizer', 'Drupal\translation_entity\FieldTranslationSynchronizer')
 | 
			
		||||
      ->addArgument(new Reference('plugin.manager.entity'));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
services:
 | 
			
		||||
  translation_entity.synchronizer:
 | 
			
		||||
    class: Drupal\translation_entity\FieldTranslationSynchronizer
 | 
			
		||||
    arguments: ['@plugin.manager.entity']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,34 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains Drupal\user\UserBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\user;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * User dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class UserBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('access_check.permission', 'Drupal\user\Access\PermissionAccessCheck')
 | 
			
		||||
      ->addTag('access_check');
 | 
			
		||||
    $container->register('access_check.user.register', 'Drupal\user\Access\RegisterAccessCheck')
 | 
			
		||||
      ->addTag('access_check');
 | 
			
		||||
    $container
 | 
			
		||||
      ->register('user.data', 'Drupal\user\UserData')
 | 
			
		||||
      ->addArgument(new Reference('database'));
 | 
			
		||||
    $container->register('user.autocomplete', 'Drupal\user\UserAutocomplete')
 | 
			
		||||
      ->addArgument(new Reference('database'))
 | 
			
		||||
      ->addArgument(new Reference('config.factory'));
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,20 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Definition of Drupal\user_custom_phpass_params_test\UserCustomPhpassParamsTestBundle
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\user_custom_phpass_params_test;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
class UserCustomPhpassParamsTestBundle extends Bundle
 | 
			
		||||
{
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    // Override the default password hashing service parameters
 | 
			
		||||
    $container->register('password', 'Drupal\Core\Password\PhpassHashedPassword')
 | 
			
		||||
      ->addArgument(19);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
services:
 | 
			
		||||
  password:
 | 
			
		||||
    class: Drupal\Core\Password\PhpassHashedPassword
 | 
			
		||||
    arguments: [19]
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
services:
 | 
			
		||||
  access_check.permission:
 | 
			
		||||
    class: Drupal\user\Access\PermissionAccessCheck
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: access_check }
 | 
			
		||||
  access_check.user.register:
 | 
			
		||||
    class: Drupal\user\Access\RegisterAccessCheck
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: access_check }
 | 
			
		||||
  user.data:
 | 
			
		||||
    class: Drupal\user\UserData
 | 
			
		||||
    arguments: ['@database']
 | 
			
		||||
  user.autocomplete:
 | 
			
		||||
    class: Drupal\user\UserAutocomplete
 | 
			
		||||
    arguments: ['@database', '@config.factory']
 | 
			
		||||
| 
						 | 
				
			
			@ -1,45 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Definition of Drupal\views\ViewsBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\views;
 | 
			
		||||
 | 
			
		||||
use Drupal\Core\Cache\CacheFactory;
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
use Drupal\views\ViewExecutable;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Views dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class ViewsBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    foreach (ViewExecutable::getPluginTypes() as $type) {
 | 
			
		||||
      $container->register("plugin.manager.views.$type", 'Drupal\views\Plugin\ViewsPluginManager')
 | 
			
		||||
        ->addArgument($type)
 | 
			
		||||
        ->addArgument('%container.namespaces%');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    $container->register('views.views_data', 'Drupal\views\ViewsDataCache')
 | 
			
		||||
      ->addArgument(new Reference('cache.views_info'))
 | 
			
		||||
      ->addArgument(new Reference('config.factory'))
 | 
			
		||||
      ->addArgument(new Reference('module_handler'))
 | 
			
		||||
      ->addTag('needs_destruction');
 | 
			
		||||
 | 
			
		||||
    $container->register('views.executable', 'Drupal\views\ViewExecutableFactory');
 | 
			
		||||
 | 
			
		||||
    $container->register('views.analyzer', 'Drupal\views\Analyzer')
 | 
			
		||||
      ->addArgument(new Reference('module_handler'));
 | 
			
		||||
    CacheFactory::registerBin($container, 'views_info');
 | 
			
		||||
    CacheFactory::registerBin($container, 'views_results');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,82 @@
 | 
			
		|||
services:
 | 
			
		||||
  plugin.manager.views.access:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [access, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.area:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [area, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.argument:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [argument, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.argument_default:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [argument_default, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.argument_validator:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [argument_validator, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.cache:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [cache, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.display_extender:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [display_extender, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.display:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [display, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.exposed_form:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [exposed_form, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.field:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [field, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.filter:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [filter, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.join:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [join, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.pager:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [pager, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.query:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [query, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.relationship:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [relationship, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.row:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [row, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.sort:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [sort, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.style:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [style, '%container.namespaces%']
 | 
			
		||||
  plugin.manager.views.wizard:
 | 
			
		||||
    class: Drupal\views\Plugin\ViewsPluginManager
 | 
			
		||||
    arguments: [wizard, '%container.namespaces%']
 | 
			
		||||
  views.views_data:
 | 
			
		||||
    class: Drupal\views\ViewsDataCache
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: needs_destruction }
 | 
			
		||||
    arguments: ['@cache.views_info', '@config.factory', '@module_handler']
 | 
			
		||||
  views.executable:
 | 
			
		||||
    class: Drupal\views\ViewExecutableFactory
 | 
			
		||||
  views.analyzer:
 | 
			
		||||
    class: Drupal\views\Analyzer
 | 
			
		||||
    arguments: ['@module_handler']
 | 
			
		||||
  cache.views_info:
 | 
			
		||||
    class: Drupal\Core\Cache\CacheBackendInterface
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: cache.bin }
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: cache_factory
 | 
			
		||||
    arguments: [views_info]
 | 
			
		||||
  cache.views_results:
 | 
			
		||||
    class: Drupal\Core\Cache\CacheBackendInterface
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: cache.bin }
 | 
			
		||||
    factory_method: get
 | 
			
		||||
    factory_service: cache_factory
 | 
			
		||||
    arguments: [views_results]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,28 +0,0 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Contains \Drupal\views_ui\ViewsBundle.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace Drupal\views_ui;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Reference;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Views UI dependency injection container.
 | 
			
		||||
 */
 | 
			
		||||
class ViewsUiBundle extends Bundle {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Overrides \Symfony\Component\HttpKernel\Bundle\Bundle::build().
 | 
			
		||||
   */
 | 
			
		||||
  public function build(ContainerBuilder $container) {
 | 
			
		||||
    $container->register('paramconverter.views_ui', 'Drupal\views_ui\ParamConverter\ViewUIConverter')
 | 
			
		||||
      ->addArgument(new Reference('user.tempstore'))
 | 
			
		||||
      ->addTag('paramconverter');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
services:
 | 
			
		||||
  paramconverter.views_ui:
 | 
			
		||||
    class: Drupal\views_ui\ParamConverter\ViewUIConverter
 | 
			
		||||
    arguments: ['@user.tempstore']
 | 
			
		||||
    tags:
 | 
			
		||||
      - { name: paramconverter }
 | 
			
		||||
		Loading…
	
		Reference in New Issue