Skip to content

Commit 52c18da

Browse files
Support Symfony 7
1 parent bb6e759 commit 52c18da

File tree

16 files changed

+125
-125
lines changed

16 files changed

+125
-125
lines changed

Diff for: .github/workflows/ci.yml

+17-13
Original file line numberDiff line numberDiff line change
@@ -78,17 +78,19 @@ jobs:
7878
fail-fast: false
7979
matrix:
8080
php: ['7.4', '8.0', '8.1', '8.2']
81-
symfony_version: ['5.4.*', '6.2.*', '6.3.*']
81+
symfony_version: ['5.4.*', '6.4.*', '7.0.*']
8282
dependencies: ['--prefer-lowest', '--prefer-dist']
8383
exclude:
8484
- php: '7.4'
85-
symfony_version: '6.2.*'
85+
symfony_version: '6.4.*'
8686
- php: '7.4'
87-
symfony_version: '6.3.*'
87+
symfony_version: '7.0.*'
8888
- php: '8.0'
89-
symfony_version: '6.2.*'
89+
symfony_version: '6.4.*'
9090
- php: '8.0'
91-
symfony_version: '6.3.*'
91+
symfony_version: '7.0.*'
92+
- php: '8.1'
93+
symfony_version: '7.0.*'
9294

9395
name: PHP ${{ matrix.php }} unit tests on Sf ${{ matrix.symfony_version }}, deps=${{ matrix.dependencies }}
9496

@@ -127,18 +129,20 @@ jobs:
127129
strategy:
128130
fail-fast: false
129131
matrix:
130-
php: ['7.4', '8.0', '8.1', '8.2'] # same as in the container
131-
symfony_version: ['5.4.*', '6.2.*', '6.3.*']
132-
dependencies: ['--prefer-lowest', '--prefer-dist']
132+
php: [ '7.4', '8.0', '8.1', '8.2' ] # same as in the container
133+
symfony_version: [ '5.4.*', '6.4.*', '7.0.*' ]
134+
dependencies: [ '--prefer-lowest', '--prefer-dist' ]
133135
exclude:
134136
- php: '7.4'
135-
symfony_version: '6.2.*'
137+
symfony_version: '6.4.*'
136138
- php: '7.4'
137-
symfony_version: '6.3.*'
139+
symfony_version: '7.0.*'
138140
- php: '8.0'
139-
symfony_version: '6.2.*'
141+
symfony_version: '6.4.*'
140142
- php: '8.0'
141-
symfony_version: '6.3.*'
143+
symfony_version: '7.0.*'
144+
- php: '8.1'
145+
symfony_version: '7.0.*'
142146

143147
name: PHP ${{ matrix.php }} functional tests on Sf ${{ matrix.symfony_version }}, deps=${{ matrix.dependencies }}
144148

@@ -180,4 +184,4 @@ jobs:
180184
if: ${{ matrix.php != '8.1' && matrix.php != '8.2' }}
181185

182186
- run: bin/test.sh --exclude-group=gearman
183-
if: ${{ matrix.php == '8.1' && matrix.php != '8.2' }}
187+
if: ${{ matrix.php == '8.1' || matrix.php == '8.2' }}

Diff for: composer.json

+14-14
Original file line numberDiff line numberDiff line change
@@ -53,21 +53,21 @@
5353
"phpunit/phpunit": "^9.5",
5454
"phpstan/phpstan": "^0.12",
5555
"queue-interop/queue-spec": "^0.6.2",
56-
"symfony/browser-kit": "^5.4|^6.0",
57-
"symfony/config": "^5.4|^6.0",
58-
"symfony/process": "^5.4|^6.0",
59-
"symfony/console": "^5.4|^6.0",
60-
"symfony/dependency-injection": "^5.4|^6.0",
61-
"symfony/event-dispatcher": "^5.4|^6.0",
62-
"symfony/expression-language": "^5.4|^6.0",
63-
"symfony/http-kernel": "^5.4|^6.0",
64-
"symfony/filesystem": "^5.4|^6.0",
65-
"symfony/framework-bundle": "^5.4|^6.0",
66-
"symfony/validator": "^5.4|^6.0",
67-
"symfony/yaml": "^5.4|^6.0",
56+
"symfony/browser-kit": "^5.4|^6.4|^7.0",
57+
"symfony/config": "^5.4|^6.4|^7.0",
58+
"symfony/process": "^5.4|^6.4|^7.0",
59+
"symfony/console": "^5.4|^6.4|^7.0",
60+
"symfony/dependency-injection": "^5.4|^6.4|^7.0",
61+
"symfony/event-dispatcher": "^5.4|^6.4|^7.0",
62+
"symfony/expression-language": "^5.4|^6.4|^7.0",
63+
"symfony/http-kernel": "^5.4|^6.4|^7.0",
64+
"symfony/filesystem": "^5.4|^6.4|^7.0",
65+
"symfony/framework-bundle": "^5.4|^6.4|^7.0",
66+
"symfony/validator": "^5.4|^6.4|^7.0",
67+
"symfony/yaml": "^5.4|^6.4|^7.0",
6868
"empi89/php-amqp-stubs": "*@dev",
6969
"doctrine/doctrine-bundle": "^2.3.2",
70-
"doctrine/mongodb-odm-bundle": "^3.5|^4.3",
70+
"doctrine/mongodb-odm-bundle": "^3.5|^4.3|^5.0",
7171
"alcaeus/mongo-php-adapter": "^1.0",
7272
"kwn/php-rdkafka-stubs": "^2.0.3",
7373
"friendsofphp/php-cs-fixer": "^3.4",
@@ -125,7 +125,7 @@
125125
"ext-amqp": "1.9.3",
126126
"ext-gearman": "2.0.3",
127127
"ext-rdkafka": "4.0",
128-
"ext-mongodb": "1.5",
128+
"ext-mongodb": "1.11",
129129
"ext-bcmath": "1",
130130
"ext-mbstring": "1",
131131
"ext-mongo": "1.6.14",

Diff for: docker-compose.yml

+9-8
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,16 @@ services:
3838
- PREDIS_DSN=redis+predis://redis
3939
- PHPREDIS_DSN=redis+phpredis://redis
4040
- GPS_DSN=gps:?projectId=mqdev&emulatorHost=http://google-pubsub:8085
41-
- SQS_DSN=sqs:?key=key&secret=secret&region=us-east-1&endpoint=http://localstack:4576&version=latest
42-
- SNS_DSN=sns:?key=key&secret=secret&region=us-east-1&endpoint=http://localstack:4575&version=latest
43-
- SNSQS_DSN=snsqs:?key=key&secret=secret&region=us-east-1&sns_endpoint=http://localstack:4575&sqs_endpoint=http://localstack:4576&version=latest
41+
- SQS_DSN=sqs:?key=key&secret=secret&region=us-east-1&endpoint=http://localstack:4566&version=latest
42+
- SNS_DSN=sns:?key=key&secret=secret&region=us-east-1&endpoint=http://localstack:4566&version=latest
43+
- SNSQS_DSN=snsqs:?key=key&secret=secret&region=us-east-1&sns_endpoint=http://localstack:4566&sqs_endpoint=http://localstack:4566&version=latest
4444
- WAMP_DSN=wamp://thruway:9090
4545
- REDIS_HOST=redis
4646
- REDIS_PORT=6379
4747
- AWS_SQS_KEY=key
4848
- AWS_SQS_SECRET=secret
4949
- AWS_SQS_REGION=us-east-1
50-
- AWS_SQS_ENDPOINT=http://localstack:4576
50+
- AWS_SQS_ENDPOINT=http://localstack:4566
5151
- AWS_SQS_VERSION=latest
5252
- BEANSTALKD_DSN=beanstalk://beanstalkd:11300
5353
- GEARMAN_DSN=gearman://gearmand:4730
@@ -127,13 +127,14 @@ services:
127127
- '9090:9090'
128128

129129
localstack:
130-
image: 'localstack/localstack:0.8.10'
130+
image: 'localstack/localstack:2.3.2'
131131
ports:
132-
- '4576:4576'
133-
- '4575:4575'
132+
- '4566:4566'
134133
environment:
135-
HOSTNAME_EXTERNAL: 'localstack'
136134
SERVICES: 'sqs,sns'
135+
LOCALSTACK_HOST: 'localstack:4566'
136+
SQS_ENDPOINT_STRATEGY: 'off'
137+
EAGER_SERVICE_LOADING: 1
137138

138139
influxdb:
139140
image: 'influxdb:latest'

Diff for: docker/bin/test.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ waitForService gearmand 4730 50
3939
waitForService kafka 9092 50
4040
waitForService mongo 27017 50
4141
waitForService thruway 9090 50
42-
waitForService localstack 4576 50
42+
waitForService localstack 4566 50
4343

4444
php docker/bin/refresh-mysql-database.php || exit 1
4545
php docker/bin/refresh-postgres-database.php || exit 1

Diff for: pkg/amqp-ext/AmqpConsumer.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public function __construct(AmqpContext $context, InteropAmqpQueue $queue)
4343
$this->flags = self::FLAG_NOPARAM;
4444
}
4545

46-
public function setConsumerTag(string $consumerTag = null): void
46+
public function setConsumerTag(?string $consumerTag = null): void
4747
{
4848
$this->consumerTag = $consumerTag;
4949
}
@@ -93,7 +93,7 @@ public function receive(int $timeout = 0): ?Message
9393
return $message;
9494
}
9595

96-
usleep(100000); //100ms
96+
usleep(100000); // 100ms
9797
}
9898

9999
return null;
@@ -118,7 +118,7 @@ public function acknowledge(Message $message): void
118118
{
119119
InvalidMessageException::assertMessageInstanceOf($message, InteropAmqpMessage::class);
120120

121-
$this->getExtQueue()->ack($message->getDeliveryTag());
121+
$this->getExtQueue()->ack((int) $message->getDeliveryTag());
122122
}
123123

124124
/**
@@ -130,7 +130,7 @@ public function reject(Message $message, bool $requeue = false): void
130130

131131
$this->getExtQueue()->reject(
132132
$message->getDeliveryTag(),
133-
$requeue ? AMQP_REQUEUE : AMQP_NOPARAM
133+
$requeue ? \AMQP_REQUEUE : \AMQP_NOPARAM
134134
);
135135
}
136136

Diff for: pkg/amqp-ext/AmqpContext.php

+3-6
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ public function unbind(InteropAmqpBind $bind): void
177177
public function createTemporaryQueue(): Queue
178178
{
179179
$extQueue = new \AMQPQueue($this->getExtChannel());
180-
$extQueue->setFlags(AMQP_EXCLUSIVE);
180+
$extQueue->setFlags(\AMQP_EXCLUSIVE);
181181

182182
$extQueue->declareQueue();
183183

@@ -243,10 +243,7 @@ public function getExtChannel(): \AMQPChannel
243243
if (false == $this->extChannel) {
244244
$extChannel = call_user_func($this->extChannelFactory);
245245
if (false == $extChannel instanceof \AMQPChannel) {
246-
throw new \LogicException(sprintf(
247-
'The factory must return instance of AMQPChannel. It returns %s',
248-
is_object($extChannel) ? get_class($extChannel) : gettype($extChannel)
249-
));
246+
throw new \LogicException(sprintf('The factory must return instance of AMQPChannel. It returns %s', is_object($extChannel) ? get_class($extChannel) : gettype($extChannel)));
250247
}
251248

252249
$this->extChannel = $extChannel;
@@ -278,7 +275,7 @@ public function convertMessage(\AMQPEnvelope $extEnvelope): InteropAmqpMessage
278275
]
279276
);
280277
$message->setRedelivered($extEnvelope->isRedelivery());
281-
$message->setDeliveryTag($extEnvelope->getDeliveryTag());
278+
$message->setDeliveryTag((int) $extEnvelope->getDeliveryTag());
282279
$message->setRoutingKey($extEnvelope->getRoutingKey());
283280

284281
return $message;

Diff for: pkg/async-command/composer.json

+8-8
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99
"php": "^7.4|^8.0",
1010
"enqueue/enqueue": "^0.10",
1111
"queue-interop/queue-interop": "^0.8",
12-
"symfony/console": "^5.4|^6.0",
13-
"symfony/process": "^5.4|^6.0"
12+
"symfony/console": "^5.4|^6.4|^7.0",
13+
"symfony/process": "^5.4|^6.4|^7.0"
1414
},
1515
"require-dev": {
1616
"phpunit/phpunit": "^9.5",
17-
"symfony/dependency-injection": "^5.4|^6.0",
18-
"symfony/config": "^5.4|^6.0",
19-
"symfony/http-kernel": "^5.4|^6.0",
20-
"symfony/filesystem": "^5.4|^6.0",
21-
"symfony/yaml": "^5.4|^6.0",
17+
"symfony/dependency-injection": "^5.4|^6.4|^7.0",
18+
"symfony/config": "^5.4|^6.4|^7.0",
19+
"symfony/http-kernel": "^5.4|^6.4|^7.0",
20+
"symfony/filesystem": "^5.4|^6.4|^7.0",
21+
"symfony/yaml": "^5.4|^6.4|^7.0",
2222
"enqueue/null": "0.10.x-dev",
2323
"enqueue/fs": "0.10.x-dev",
2424
"enqueue/test": "0.10.x-dev"
@@ -31,7 +31,7 @@
3131
"docs": "https://github.com/php-enqueue/enqueue-dev/blob/master/docs/index.md"
3232
},
3333
"suggest": {
34-
"symfony/dependency-injection": "^5.4|^6.0 If you'd like to use async event dispatcher container extension."
34+
"symfony/dependency-injection": "^5.4|^6.4|^7.0 If you'd like to use async event dispatcher container extension."
3535
},
3636
"autoload": {
3737
"psr-4": { "Enqueue\\AsyncCommand\\": "" },

Diff for: pkg/async-event-dispatcher/ContainerAwareRegistry.php

+15-18
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,10 @@
22

33
namespace Enqueue\AsyncEventDispatcher;
44

5-
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
6-
use Symfony\Component\DependencyInjection\ContainerAwareTrait;
5+
use Psr\Container\ContainerInterface;
76

8-
class ContainerAwareRegistry implements Registry, ContainerAwareInterface
7+
class ContainerAwareRegistry implements Registry
98
{
10-
use ContainerAwareTrait;
11-
129
/**
1310
* @var string[]
1411
*/
@@ -19,6 +16,8 @@ class ContainerAwareRegistry implements Registry, ContainerAwareInterface
1916
*/
2017
private $transformersMap;
2118

19+
private ContainerInterface $container;
20+
2221
/**
2322
* @param string[] $eventsMap [eventName => transformerName]
2423
* @param string[] $transformersMap [transformerName => transformerServiceId]
@@ -29,9 +28,6 @@ public function __construct(array $eventsMap, array $transformersMap)
2928
$this->transformersMap = $transformersMap;
3029
}
3130

32-
/**
33-
* {@inheritdoc}
34-
*/
3531
public function getTransformerNameForEvent($eventName)
3632
{
3733
$transformerName = null;
@@ -58,25 +54,26 @@ public function getTransformerNameForEvent($eventName)
5854
return $transformerName;
5955
}
6056

61-
/**
62-
* {@inheritdoc}
63-
*/
6457
public function getTransformer($name)
6558
{
66-
if (false == array_key_exists($name, $this->transformersMap)) {
59+
if (!array_key_exists($name, $this->transformersMap)) {
6760
throw new \LogicException(sprintf('There is no transformer named %s', $name));
6861
}
6962

7063
$transformer = $this->container->get($this->transformersMap[$name]);
7164

72-
if (false == $transformer instanceof EventTransformer) {
73-
throw new \LogicException(sprintf(
74-
'The container must return instance of %s but got %s',
75-
EventTransformer::class,
76-
is_object($transformer) ? get_class($transformer) : gettype($transformer)
77-
));
65+
if (!$transformer instanceof EventTransformer) {
66+
throw new \LogicException(sprintf('The container must return instance of %s but got %s', EventTransformer::class, is_object($transformer) ? get_class($transformer) : gettype($transformer)));
7867
}
7968

8069
return $transformer;
8170
}
71+
72+
/**
73+
* @required
74+
*/
75+
public function setContainer(ContainerInterface $container)
76+
{
77+
$this->container = $container;
78+
}
8279
}

Diff for: pkg/async-event-dispatcher/composer.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@
99
"php": "^7.4|^8.0",
1010
"enqueue/enqueue": "^0.10",
1111
"queue-interop/queue-interop": "^0.8",
12-
"symfony/event-dispatcher": "^5.4|^6.0"
12+
"symfony/event-dispatcher": "^5.4|^6.4|^7.0"
1313
},
1414
"require-dev": {
1515
"phpunit/phpunit": "^9.5",
16-
"symfony/dependency-injection": "^5.4|^6.0",
17-
"symfony/config": "^5.4|^6.0",
18-
"symfony/http-kernel": "^5.4|^6.0",
19-
"symfony/filesystem": "^5.4|^6.0",
20-
"symfony/yaml": "^5.4|^6.0",
16+
"symfony/dependency-injection": "^5.4|^6.4|^7.0",
17+
"symfony/config": "^5.4|^6.4|^7.0",
18+
"symfony/http-kernel": "^5.4|^6.4|^7.0",
19+
"symfony/filesystem": "^5.4|^6.4|^7.0",
20+
"symfony/yaml": "^5.4|^6.4|^7.0",
2121
"enqueue/null": "0.10.x-dev",
2222
"enqueue/fs": "0.10.x-dev",
2323
"enqueue/test": "0.10.x-dev"
@@ -30,7 +30,7 @@
3030
"docs": "https://github.com/php-enqueue/enqueue-dev/blob/master/docs/index.md"
3131
},
3232
"suggest": {
33-
"symfony/dependency-injection": "^5.4|^6.0 If you'd like to use async event dispatcher container extension."
33+
"symfony/dependency-injection": "^5.4|^6.4|^7.0 If you'd like to use async event dispatcher container extension."
3434
},
3535
"autoload": {
3636
"psr-4": { "Enqueue\\AsyncEventDispatcher\\": "" },

Diff for: pkg/enqueue-bundle/composer.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"license": "MIT",
88
"require": {
99
"php": "^7.4|^8.0",
10-
"symfony/framework-bundle": "^5.4|^6.0",
10+
"symfony/framework-bundle": "^5.4|^6.4|^7.0",
1111
"queue-interop/amqp-interop": "^0.8.2",
1212
"queue-interop/queue-interop": "^0.8",
1313
"enqueue/enqueue": "^0.10",
@@ -37,12 +37,12 @@
3737
"enqueue/async-command": "0.10.x-dev",
3838
"php-amqplib/php-amqplib": "^3.0",
3939
"doctrine/doctrine-bundle": "^2.3.2",
40-
"doctrine/mongodb-odm-bundle": "^3.5|^4.3",
40+
"doctrine/mongodb-odm-bundle": "^3.5|^4.3|^5.0",
4141
"alcaeus/mongo-php-adapter": "^1.0",
42-
"symfony/browser-kit": "^5.4|^6.0",
43-
"symfony/expression-language": "^5.4|^6.0",
44-
"symfony/validator": "^5.4|^6.0",
45-
"symfony/yaml": "^5.4|^6.0"
42+
"symfony/browser-kit": "^5.4|^6.4|^7.0",
43+
"symfony/expression-language": "^5.4|^6.4|^7.0",
44+
"symfony/validator": "^5.4|^6.4|^7.0",
45+
"symfony/yaml": "^5.4|^6.4|^7.0"
4646
},
4747
"suggest": {
4848
"enqueue/async-command": "If want to run Symfony command via message queue",

0 commit comments

Comments
 (0)