diff --git a/.travis.yml b/.travis.yml index 30a1a9c2..02dd1258 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,24 +23,9 @@ env: # @todo where we have 2 minor versions of the same 'main version' tested, we should test the lower numbered one forcing composer to use the oldest possible dependencies matrix: include: - # The last version of eZPublish Community Project, aka eZPublish 5, corresponds to eZPublish Platform (Enterprise) 5.4 - - php: 5.6 - env: EZ_PACKAGES='ezsystems/ezpublish-community:~2014.11.1 ezsystems/behatbundle:^5.4 netgen/tagsbundle:^2.0' EZ_VERSION=ezpublish-community EZ_APP_DIR=ezpublish EZ_KERNEL=EzPublishKernel KERNEL_DIR=vendor/ezsystems/ezpublish-community/ezpublish CODE_COVERAGE=0 INSTALL_TAGSBUNDLE=1 - - # eZPlatform 1 aka eZPublish 6 - earliest LTS release is 1.7 - - php: 7.0 - env: EZ_PACKAGES='ezsystems/ezplatform:~1.7.9 ezsystems/ezplatform-xmltext-fieldtype:^1.1 ezsystems/behatbundle:^6.3 netgen/tagsbundle:^2.0' EZ_VERSION=ezplatform EZ_APP_DIR=app EZ_KERNEL=AppKernel KERNEL_DIR=vendor/ezsystems/ezplatform/app CODE_COVERAGE=0 INSTALL_TAGSBUNDLE=1 - # last version available of eZPlatform 1 - also an LTS - - php: 7.1 - env: EZ_PACKAGES='ezsystems/ezplatform:~1.13.5 ezsystems/ezplatform-xmltext-fieldtype:^1.1 ezsystems/behatbundle:^6.3 netgen/tagsbundle:^2.0' EZ_VERSION=ezplatform EZ_APP_DIR=app EZ_KERNEL=AppKernel KERNEL_DIR=vendor/ezsystems/ezplatform/app CODE_COVERAGE=1 INSTALL_TAGSBUNDLE=1 - - # next-to-latest version currently available of eZPlatform 2 - # sensio/generator-bundle is only needed because we run the tests using 'behat' sf env - - php: 7.2 - env: EZ_PACKAGES='ezsystems/ezplatform:~2.4.2 ezsystems/ezplatform-xmltext-fieldtype:^1.8 ezsystems/behatbundle:^6.5 netgen/tagsbundle:^3.0 sensio/generator-bundle' EZ_VERSION=ezplatform2 EZ_APP_DIR=app EZ_KERNEL=AppKernel KERNEL_DIR=vendor/ezsystems/ezplatform/app CODE_COVERAGE=0 INSTALL_TAGSBUNDLE=1 - # latest version currently available of eZPlatform 2 - currently 2.5, which is also LTS + # latest version currently available of eZPlatform 3 - currently 3.0.0-beta - php: 7.3 - env: EZ_PACKAGES='ezsystems/ezplatform:^2.5.1 ezsystems/ezplatform-xmltext-fieldtype:^1.8 ezsystems/behatbundle:^6.5 netgen/tagsbundle:^3.0 sensio/generator-bundle overblog/graphiql-bundle' EZ_VERSION=ezplatform2 EZ_APP_DIR=app EZ_KERNEL=AppKernel KERNEL_DIR=vendor/ezsystems/ezplatform/app CODE_COVERAGE=0 INSTALL_TAGSBUNDLE=1 + env: EZ_PACKAGES='ezsystems/ezplatform:^3.0.0 ezsystems/ezplatform-xmltext-fieldtype:^2.0 ezsystems/behatbundle:^7.0 overblog/graphiql-bundle:^0.1.2' EZ_VERSION=ezplatform3 EZ_APP_DIR=src EZ_KERNEL=Kernel KERNEL_DIR=vendor/ezsystems/ezplatform/src CODE_COVERAGE=0 INSTALL_TAGSBUNDLE=1 #before_install: # No need for a web server, until we start testing using Selenium diff --git a/Resources/config/services.yml b/Resources/config/services.yml index 4ddede7f..1ebd6d75 100644 --- a/Resources/config/services.yml +++ b/Resources/config/services.yml @@ -123,6 +123,7 @@ parameters: services: ez_migration_bundle.migration_service: + public: true class: '%ez_migration_bundle.migration_service.class%' arguments: - '@ez_migration_bundle.loader' @@ -648,6 +649,7 @@ services: - { name: ez_migration_bundle.complex_field, fieldtype: ezmedia, priority: 0 } ez_migration_bundle.complex_field.ezpage: + lazy: true parent: ez_migration_bundle.complex_field class: '%ez_migration_bundle.complex_field.ezpage.class%' arguments: @@ -770,6 +772,7 @@ services: # This service is used for the verbose mode when executing migrations on the command line ez_migration_bundle.step_executed_listener.tracing: + public: true class: '%ez_migration_bundle.step_executed_listener.tracing.class%' arguments: - '%ez_migration_bundle.enable_debug_output%' @@ -799,3 +802,29 @@ services: arguments: - '@ezpublish.config.resolver' - '@service_container' + + Kaliop\eZMigrationBundle\Command\AbstractCommand: ~ + + Kaliop\eZMigrationBundle\Command\GenerateCommand: + tags: + - { name: 'console.command', command: 'kaliop:migration:generate' } + + Kaliop\eZMigrationBundle\Command\MassMigrateCommand: + tags: + - { name: 'console.command', command: 'kaliop:migration:mass_migrate' } + + Kaliop\eZMigrationBundle\Command\MigrateCommand: + tags: + - { name: 'console.command', command: 'kaliop:migration:migrate' } + + Kaliop\eZMigrationBundle\Command\MigrationCommand: + tags: + - { name: 'console.command', command: 'kaliop:migration:migration' } + + Kaliop\eZMigrationBundle\Command\ResumeCommand: + tags: + - { name: 'console.command', command: 'kaliop:migration:resume' } + + Kaliop\eZMigrationBundle\Command\StatusCommand: + tags: + - { name: 'console.command', command: 'kaliop:migration:status' } diff --git a/composer.json b/composer.json index 2d1570d7..dcc10c9a 100644 --- a/composer.json +++ b/composer.json @@ -1,4 +1,6 @@ { + "minimum-stability": "dev", + "prefer-stable": true, "name": "kaliop/ezmigrationbundle", "type": "symfony-bundle", "description": "Kaliop eZ-Migration Bundle", @@ -22,39 +24,28 @@ } ], "require": { - "php": ">=5.6", + "php": "^7.3", "ext-pdo": "*", - "ezsystems/ezpublish-kernel": ">=5.4|>=2014.11", + "ezsystems/ezpublish-kernel": "^8.0@dev", + "ezsystems/doctrine-dbal-schema": "^1.0@dev", "mtdowling/jmespath.php": "2.*", - "nikic/php-parser": "^2.0 || ^3.0 || ^4.0", + "nikic/php-parser": "^4.2.2", "symfony/process": "*", "symfony/swiftmailer-bundle": "*", "symfony/validator": "*", "symfony/var-dumper": "*" }, "require-dev": { - "mikey179/vfsstream": "~1.2.0", - "polishsymfonycommunity/symfony2-mocker-extension": "*", - "php-http/mock-client": "*", - "phpunit/phpunit": "~4.0 || ~5.0", - "codeclimate/php-test-reporter": "~0.4", + "mikey179/vfsstream": "^2.0@dev", + "phpunit/phpunit": "^8.2", "roave/security-advisories": "dev-disablechecks as dev-master" }, "suggest": { "php-http/httplug-bundle": "Required for usage of HTTP/CALL migration steps" }, - "conflict": { - "netgen/tagsbundle": "1.*", - "ezsystems/ezpublish-kernel": "6.7.3", - "symfony/symfony": "3.4.12" - }, "autoload": { "psr-4": { "Kaliop\\eZMigrationBundle\\": "" } }, - "_comment::travis": "the following section is needed to insure that eZPublish 5 can be built on travis, using the custom directory structure where it is not in the root folder", - "extra": { - "ezpublish-legacy-dir": "vendor/ezsystems/ezpublish-legacy" - }, "repositories": [ { "type": "vcs",