services:
  upgrade_status.deprecation_analyzer:
    class: Drupal\upgrade_status\DeprecationAnalyzer
    arguments:
      - '@keyvalue'
      - '@logger.channel.upgrade_status'
      - '@http_client'
      - '@file_system'
      - '@upgrade_status.twig_deprecation_analyzer'
      - '@upgrade_status.library_deprecation_analyzer'
      - '@upgrade_status.theme_function_deprecation_analyzer'
      - '@upgrade_status.route_deprecation_analyzer'
      - '@upgrade_status.extension_metadata_deprecation_analyzer'
      - '@upgrade_status.config_schema_deprecation_analyzer'
      - '@upgrade_status.css_deprecation_analyzer'
      - '@datetime.time'
  upgrade_status.library_deprecation_analyzer:
    class: Drupal\upgrade_status\LibraryDeprecationAnalyzer
    arguments:
      - '@library.discovery.parser'
      - '@twig'
      - '@extension.list.module'
      - '@extension.list.theme'
      - '@extension.list.profile'
  upgrade_status.theme_function_deprecation_analyzer:
    class: Drupal\upgrade_status\ThemeFunctionDeprecationAnalyzer
    arguments: ['@service_container']
  upgrade_status.twig_deprecation_analyzer:
    class: Drupal\upgrade_status\TwigDeprecationAnalyzer
    arguments: ['@twig']
  upgrade_status.route_deprecation_analyzer:
    class: Drupal\upgrade_status\RouteDeprecationAnalyzer
  upgrade_status.css_deprecation_analyzer:
    class: Drupal\upgrade_status\CSSDeprecationAnalyzer
  upgrade_status.extension_metadata_deprecation_analyzer:
    class: Drupal\upgrade_status\ExtensionMetadataDeprecationAnalyzer
  upgrade_status.config_schema_deprecation_analyzer:
    class: Drupal\upgrade_status\ConfigSchemaDeprecationAnalyzer
  upgrade_status.project_collector:
    class: Drupal\upgrade_status\ProjectCollector
    arguments:
      - '@extension.list.module'
      - '@extension.list.theme'
      - '@extension.list.profile'
      - '@keyvalue.expirable'
      - '@config.factory'
      - '%install_profile%'
  upgrade_status.result_formatter:
    class: Drupal\upgrade_status\ScanResultFormatter
    arguments: ['@keyvalue', '@date.formatter', '@datetime.time', '@module_handler']
  logger.channel.upgrade_status:
    parent: logger.channel_base
    arguments: ['upgrade_status']
