services:
    _defaults:
        autoconfigure: true

    contao.migration.collection:
        class: Contao\CoreBundle\Migration\MigrationCollection
        arguments:
            - ~

    contao.migration.version_400.version_400_update:
        class: Contao\CoreBundle\Migration\Version400\Version400Update
        arguments:
            - '@database_connection'

    contao.migration.version_401.version_410_update:
        class: Contao\CoreBundle\Migration\Version401\Version410Update
        arguments:
            - '@database_connection'
            - '@contao.framework'

    contao.migration.version_403.version_430_update:
        class: Contao\CoreBundle\Migration\Version403\Version430Update
        arguments:
            - '@database_connection'

    contao.migration.version_404.version_440_update:
        class: Contao\CoreBundle\Migration\Version404\Version440Update
        arguments:
            - '@database_connection'

    contao.migration.version_404.version_447_update:
        class: Contao\CoreBundle\Migration\Version404\Version447Update
        arguments:
            - '@database_connection'
            - '@translator'

    contao.migration.version_405.version_450_update:
        class: Contao\CoreBundle\Migration\Version405\Version450Update
        arguments:
            - '@database_connection'

    contao.migration.version_406.version_460_update:
        class: Contao\CoreBundle\Migration\Version406\Version460Update
        arguments:
            - '@database_connection'

    contao.migration.version_407.version_470_update:
        class: Contao\CoreBundle\Migration\Version407\Version470Update
        arguments:
            - '@database_connection'
            - '@filesystem'
            - '%contao.upload_path%'
            - '%kernel.project_dir%'

    contao.migration.version_408.version_480_update:
        class: Contao\CoreBundle\Migration\Version408\Version480Update
        arguments:
            - '@database_connection'
            - '@filesystem'
            - '@contao.framework'
            - '%kernel.project_dir%'

    contao.migration.version_409.ce_access:
        class: Contao\CoreBundle\Migration\Version409\CeAccessMigration
        arguments:
            - '@database_connection'
            - '@contao.framework'

    contao.migration.version_409.player_color:
        class: Contao\CoreBundle\Migration\Version409\PlayerColorMigration
        arguments:
            - '@database_connection'

    contao.migration.version_410.drop_search:
        class: Contao\CoreBundle\Migration\Version410\DropSearchMigration
        arguments:
            - '@database_connection'

    contao.migration.version_410.order_field:
        class: Contao\CoreBundle\Migration\Version410\OrderFieldMigration
        arguments:
            - '@database_connection'

    contao.migration.version_410.routing:
        class: Contao\CoreBundle\Migration\Version410\RoutingMigration
        arguments:
            - '@database_connection'
            - '@contao.framework'
            - '%contao.url_suffix%'
            - '%contao.prepend_locale%'

    contao.migration.version_411.merge_webfonts:
        class: Contao\CoreBundle\Migration\Version411\MergeWebfontsMigration
        arguments:
            - '@database_connection'

    contao.migration.version_411.remove_js_highlight:
        class: Contao\CoreBundle\Migration\Version411\RemoveJsHighlightMigration
        arguments:
            - '@database_connection'

    contao.migration.version_411.two_factor_backup_codes:
        class: Contao\CoreBundle\Migration\Version411\TwoFactorBackupCodesMigration
        arguments:
            - '@database_connection'

    contao.migration.version_412.allowed_excluded_fields:
        class: Contao\CoreBundle\Migration\Version412\AllowedExcludedFieldsMigration
        arguments:
            - '@database_connection'

    contao.migration.version_412.page_language:
        class: Contao\CoreBundle\Migration\Version412\PageLanguageMigration
        arguments:
            - '@database_connection'

    contao.migration.version_413.always_forward:
        class: Contao\CoreBundle\Migration\Version413\AlwaysForwardMigration
        arguments:
            - '@database_connection'

    contao.migration.version_413.boolean_fields:
        class: Contao\CoreBundle\Migration\Version413\BooleanFieldsMigration
        arguments:
            - '@database_connection'
            - '@contao.framework'
            - '@contao.resource_finder'

    contao.migration.version_413.file_extension:
        class: Contao\CoreBundle\Migration\Version413\FileExtensionMigration
        arguments:
            - '@database_connection'

    contao.migration.version_413.player_color:
        class: Contao\CoreBundle\Migration\Version413\PlayerColorMigration
        arguments:
            - '@database_connection'

    contao.migration.version_413.rel_lightbox:
        class: Contao\CoreBundle\Migration\Version413\RelLightboxMigration
        arguments:
            - '@database_connection'
            - '@contao.framework'
            - '@contao.resource_finder'

    # Backwards compatibility
    Contao\CoreBundle\Migration\MigrationCollection:
        alias: contao.migration.collection
        deprecated:
            package: contao/core-bundle
            version: 4.13
            message: Using the "%alias_id%" service ID has been deprecated and will no longer work in Contao 5.0. Please use "contao.migration.collection" instead.
