services:
  automatic_updates.route_subscriber:
    class: Drupal\automatic_updates\Routing\RouteSubscriber
    tags:
      - { name: event_subscriber }
  automatic_updates.readiness_validation_manager:
    class: Drupal\automatic_updates\Validation\ReadinessValidationManager
    arguments:
      - '@keyvalue.expirable'
      - '@datetime.time'
      - '@event_dispatcher'
      - '@automatic_updates.updater'
      - '@automatic_updates.cron_updater'
      - '@config.factory'
      - 24
    tags:
      - { name: event_subscriber }
  automatic_updates.updater:
    class: Drupal\automatic_updates\Updater
    arguments:
      - '@config.factory'
      - '@package_manager.path_locator'
      - '@package_manager.beginner'
      - '@package_manager.stager'
      - '@package_manager.committer'
      - '@file_system'
      - '@event_dispatcher'
      - '@tempstore.shared'
      - '@datetime.time'
  automatic_updates.cron_updater:
    class: Drupal\automatic_updates\CronUpdater
    arguments:
      - '@automatic_updates.cron_release_chooser'
      - '@logger.factory'
      - '@config.factory'
      - '@package_manager.path_locator'
      - '@package_manager.beginner'
      - '@package_manager.stager'
      - '@package_manager.committer'
      - '@file_system'
      - '@event_dispatcher'
      - '@tempstore.shared'
      - '@datetime.time'
  automatic_updates.staged_projects_validator:
    class: Drupal\automatic_updates\Validator\StagedProjectsValidator
    arguments:
      - '@string_translation'
    tags:
      - { name: event_subscriber }
  automatic_updates.validator.settings:
    class: Drupal\automatic_updates\Validator\SettingsValidator
    arguments:
      - '@string_translation'
    tags:
      - { name: event_subscriber }
  automatic_updates.update_version_validator:
    class: Drupal\automatic_updates\Validator\UpdateVersionValidator
    arguments:
      - '@string_translation'
      - '@config.factory'
    tags:
      - { name: event_subscriber }
  automatic_updates.cron_update_version_validator:
    class: Drupal\automatic_updates\Validator\CronUpdateVersionValidator
    arguments:
      - '@string_translation'
      - '@config.factory'
    tags:
      - { name: event_subscriber }
  automatic_updates.release_chooser:
    class: Drupal\automatic_updates\ReleaseChooser
    arguments:
      - '@automatic_updates.update_version_validator'
  automatic_updates.cron_release_chooser:
    class: Drupal\automatic_updates\ReleaseChooser
    arguments:
      - '@automatic_updates.cron_update_version_validator'
  automatic_updates.composer_executable_validator:
    class: Drupal\automatic_updates\Validator\PackageManagerReadinessCheck
    arguments:
      - '@package_manager.validator.composer_executable'
    tags:
      - { name: event_subscriber }
  automatic_updates.validator.composer_settings:
    class: Drupal\automatic_updates\Validator\PackageManagerReadinessCheck
    arguments:
      - '@package_manager.validator.composer_settings'
    tags:
      - { name: event_subscriber }
  automatic_updates.disk_space_validator:
    class: Drupal\automatic_updates\Validator\PackageManagerReadinessCheck
    arguments:
      - '@package_manager.validator.disk_space'
    tags:
      - { name: event_subscriber }
  automatic_updates.pending_updates_validator:
    class: Drupal\automatic_updates\Validator\PackageManagerReadinessCheck
    arguments:
      - '@package_manager.validator.pending_updates'
    tags:
      - { name: event_subscriber }
  automatic_updates.validator.file_system_permissions:
    class: Drupal\automatic_updates\Validator\PackageManagerReadinessCheck
    arguments:
      - '@package_manager.validator.file_system'
    tags:
      - { name: event_subscriber }
  automatic_updates.validator.multisite:
    class: Drupal\automatic_updates\Validator\PackageManagerReadinessCheck
    arguments:
      - '@package_manager.validator.multisite'
    tags:
      - { name: event_subscriber }
  automatic_updates.cron_frequency_validator:
    class: Drupal\automatic_updates\Validator\CronFrequencyValidator
    arguments:
      - '@config.factory'
      - '@module_handler'
      - '@state'
      - '@datetime.time'
      - '@string_translation'
    tags:
      - { name: event_subscriber }
  automatic_updates.validator.staged_database_updates:
    class: Drupal\automatic_updates\Validator\StagedDatabaseUpdateValidator
    arguments:
      - '@package_manager.path_locator'
      - '@extension.list.module'
      - '@string_translation'
    tags:
      - { name: event_subscriber }
  automatic_updates.validator.target_release:
    class: \Drupal\automatic_updates\Validator\UpdateReleaseValidator
    tags:
      - { name: event_subscriber }
