diff --git a/.gitignore b/.gitignore index 3126fea..210acfd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .phpcs-cache +.phpunit.result.cache /clover.xml /coveralls-upload.json /phpunit.xml diff --git a/composer.json b/composer.json index 6b5b8d4..08950aa 100644 --- a/composer.json +++ b/composer.json @@ -5,8 +5,11 @@ "require": { "php": "^7.4", "psr/container": "^1.0", - "symfony/event-dispatcher": "^4.4 || ^5.0", - "symfony/messenger": "^4.4 || ~5.0.0" + "symfony/amqp-messenger": "^5.1", + "symfony/doctrine-messenger": "^5.1", + "symfony/event-dispatcher": "^5.1", + "symfony/messenger": "^5.1", + "symfony/redis-messenger": "^5.1" }, "require-dev": { "doctrine/coding-standard": "^7.0", diff --git a/composer.lock b/composer.lock index c41f18f..eb00036 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "1404c433c1cbf18bf0fbceb9a98b2179", + "content-hash": "96175a2a3f5054d639ae8c9265f7ec9d", "packages": [ { "name": "psr/cache", @@ -194,28 +194,99 @@ ], "time": "2020-03-23T09:12:05+00:00" }, + { + "name": "symfony/amqp-messenger", + "version": "v5.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/amqp-messenger.git", + "reference": "f8bc975215edd516e25c9ea2b82a3026952bd8bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/amqp-messenger/zipball/f8bc975215edd516e25c9ea2b82a3026952bd8bc", + "reference": "f8bc975215edd516e25c9ea2b82a3026952bd8bc", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/messenger": "^5.1" + }, + "require-dev": { + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" + }, + "type": "symfony-bridge", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Messenger\\Bridge\\Amqp\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony AMQP extension Messenger Bridge", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-20T17:43:50+00:00" + }, { "name": "symfony/contracts", - "version": "v2.0.1", + "version": "v2.1.3", "source": { "type": "git", "url": "https://github.com/symfony/contracts.git", - "reference": "b3b9b70bfacfd204d352e7e7350e02c02c0fff78" + "reference": "64342f7faf49d26a959ea223f83170f00d9699c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/contracts/zipball/b3b9b70bfacfd204d352e7e7350e02c02c0fff78", - "reference": "b3b9b70bfacfd204d352e7e7350e02c02c0fff78", + "url": "https://api.github.com/repos/symfony/contracts/zipball/64342f7faf49d26a959ea223f83170f00d9699c7", + "reference": "64342f7faf49d26a959ea223f83170f00d9699c7", "shasum": "" }, "require": { - "php": "^7.2.5", + "php": ">=7.2.5", "psr/cache": "^1.0", "psr/container": "^1.0", "psr/event-dispatcher": "^1.0" }, "replace": { "symfony/cache-contracts": "self.version", + "symfony/deprecation-contracts": "self.version", "symfony/event-dispatcher-contracts": "self.version", "symfony/http-client-contracts": "self.version", "symfony/service-contracts": "self.version", @@ -234,13 +305,16 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.1-dev" } }, "autoload": { "psr-4": { "Symfony\\Contracts\\": "" }, + "files": [ + "Deprecation/function.php" + ], "exclude-from-classmap": [ "**/Tests/" ] @@ -269,38 +343,62 @@ "interoperability", "standards" ], - "time": "2019-11-26T23:25:11+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-29T14:54:40+00:00" }, { - "name": "symfony/deprecation-contracts", - "version": "v2.1.3", + "name": "symfony/doctrine-messenger", + "version": "v5.1.3", "source": { "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14" + "url": "https://github.com/symfony/doctrine-messenger.git", + "reference": "f794d67fa18f3ef42be9e8273890b5e1ac4e8319" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5e20b83385a77593259c9f8beb2c43cd03b2ac14", - "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14", + "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/f794d67fa18f3ef42be9e8273890b5e1ac4e8319", + "reference": "f794d67fa18f3ef42be9e8273890b5e1ac4e8319", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2.5", + "symfony/messenger": "^5.1", + "symfony/service-contracts": "^1.1|^2" }, - "type": "library", + "conflict": { + "doctrine/persistence": "<1.3" + }, + "require-dev": { + "doctrine/dbal": "^2.6|^3.0", + "doctrine/persistence": "^1.3|^2", + "symfony/property-access": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" + }, + "type": "symfony-bridge", "extra": { "branch-alias": { - "dev-master": "2.1-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "dev-master": "5.1-dev" } }, "autoload": { - "files": [ - "function.php" + "psr-4": { + "Symfony\\Component\\Messenger\\Bridge\\Doctrine\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -309,15 +407,15 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "A generic function and convention to trigger deprecation notices", + "description": "Symfony Doctrine Messenger Bridge", "homepage": "https://symfony.com", "funding": [ { @@ -333,7 +431,7 @@ "type": "tidelift" } ], - "time": "2020-06-06T08:49:21+00:00" + "time": "2020-07-23T16:55:47+00:00" }, { "name": "symfony/event-dispatcher", @@ -423,32 +521,33 @@ }, { "name": "symfony/messenger", - "version": "v5.0.11", + "version": "v5.1.3", "source": { "type": "git", "url": "https://github.com/symfony/messenger.git", - "reference": "171fa0b6a95a96664bece9e1f9e914ea699ff79f" + "reference": "ef33d47aa5bec5f667eb1dfe7164677f94e8149f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/messenger/zipball/171fa0b6a95a96664bece9e1f9e914ea699ff79f", - "reference": "171fa0b6a95a96664bece9e1f9e914ea699ff79f", + "url": "https://api.github.com/repos/symfony/messenger/zipball/ef33d47aa5bec5f667eb1dfe7164677f94e8149f", + "reference": "ef33d47aa5bec5f667eb1dfe7164677f94e8149f", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/log": "^1.0", - "symfony/polyfill-php80": "^1.15" + "psr/log": "~1.0", + "symfony/amqp-messenger": "^5.1", + "symfony/deprecation-contracts": "^2.1", + "symfony/doctrine-messenger": "^5.1", + "symfony/polyfill-php80": "^1.15", + "symfony/redis-messenger": "^5.1" }, "conflict": { - "doctrine/persistence": "<1.3", "symfony/event-dispatcher": "<4.4", "symfony/framework-bundle": "<4.4", "symfony/http-kernel": "<4.4" }, "require-dev": { - "doctrine/dbal": "^2.6|^3.0", - "doctrine/persistence": "^1.3|^2", "psr/cache": "~1.0", "symfony/console": "^4.4|^5.0", "symfony/dependency-injection": "^4.4|^5.0", @@ -467,7 +566,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -508,7 +607,7 @@ "type": "tidelift" } ], - "time": "2020-07-23T16:54:02+00:00" + "time": "2020-07-23T10:40:24+00:00" }, { "name": "symfony/polyfill-php80", @@ -589,6 +688,74 @@ } ], "time": "2020-07-14T12:35:20+00:00" + }, + { + "name": "symfony/redis-messenger", + "version": "v5.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/redis-messenger.git", + "reference": "d37c6a267d79b0e0dff5e2b96c5f07886353d7a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/redis-messenger/zipball/d37c6a267d79b0e0dff5e2b96c5f07886353d7a2", + "reference": "d37c6a267d79b0e0dff5e2b96c5f07886353d7a2", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/messenger": "^5.1" + }, + "require-dev": { + "symfony/property-access": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" + }, + "type": "symfony-bridge", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Messenger\\Bridge\\Redis\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Redis extension Messenger Bridge", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-20T17:43:50+00:00" } ], "packages-dev": [ diff --git a/psalm.xml.dist b/psalm.xml.dist index b39ed3b..1f5161a 100644 --- a/psalm.xml.dist +++ b/psalm.xml.dist @@ -16,8 +16,14 @@ + + + + + + diff --git a/src/Container/TransportFactory.php b/src/Container/TransportFactory.php index cb92f5b..a99165e 100644 --- a/src/Container/TransportFactory.php +++ b/src/Container/TransportFactory.php @@ -6,9 +6,9 @@ use InvalidArgumentException; use Psr\Container\ContainerInterface; -use Symfony\Component\Messenger\Transport\AmqpExt\AmqpTransportFactory; +use Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpTransportFactory; +use Symfony\Component\Messenger\Bridge\Redis\Transport\RedisTransportFactory; use Symfony\Component\Messenger\Transport\InMemoryTransportFactory; -use Symfony\Component\Messenger\Transport\RedisExt\RedisTransportFactory; use Symfony\Component\Messenger\Transport\Sender\SenderInterface; use Symfony\Component\Messenger\Transport\Serialization\PhpSerializer; use Symfony\Component\Messenger\Transport\Sync\SyncTransportFactory; diff --git a/src/Transport/DoctrineTransportFactory.php b/src/Transport/DoctrineTransportFactory.php index 62d6d97..ca11478 100644 --- a/src/Transport/DoctrineTransportFactory.php +++ b/src/Transport/DoctrineTransportFactory.php @@ -7,9 +7,9 @@ use Doctrine\ORM\EntityManager; use InvalidArgumentException; use Psr\Container\ContainerInterface; +use Symfony\Component\Messenger\Bridge\Doctrine\Transport\Connection; +use Symfony\Component\Messenger\Bridge\Doctrine\Transport\DoctrineTransport; use Symfony\Component\Messenger\Exception\TransportException; -use Symfony\Component\Messenger\Transport\Doctrine\Connection; -use Symfony\Component\Messenger\Transport\Doctrine\DoctrineTransport; use Symfony\Component\Messenger\Transport\Serialization\SerializerInterface; use Symfony\Component\Messenger\Transport\TransportFactoryInterface;