Skip to content

Commit 597311d

Browse files
committed
add support for symfony/mercure:^0.5
1 parent d2ba040 commit 597311d

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@
9595
use Symfony\Component\Mailer\Bridge\Sendgrid\Transport\SendgridTransportFactory;
9696
use Symfony\Component\Mailer\Bridge\Sendinblue\Transport\SendinblueTransportFactory;
9797
use Symfony\Component\Mailer\Mailer;
98+
use Symfony\Component\Mercure\HubRegistry;
9899
use Symfony\Component\Messenger\Bridge\AmazonSqs\Transport\AmazonSqsTransportFactory;
99100
use Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpTransportFactory;
100101
use Symfony\Component\Messenger\Bridge\Beanstalkd\Transport\BeanstalkdTransportFactory;
@@ -2368,11 +2369,17 @@ private function registerNotifierConfiguration(array $config, ContainerBuilder $
23682369
}
23692370
}
23702371

2371-
if (ContainerBuilder::willBeAvailable('symfony/mercure-notifier', MercureTransportFactory::class, $parentPackages) && ContainerBuilder::willBeAvailable('symfony/mercure-bundle', MercureBundle::class, $parentPackages)) {
2372-
$container->getDefinition($classToServices[MercureTransportFactory::class])
2373-
->replaceArgument('$publisherLocator', new ServiceLocatorArgument(new TaggedIteratorArgument('mercure.publisher', null, null, true)));
2374-
} elseif (ContainerBuilder::willBeAvailable('symfony/mercure-notifier', MercureTransportFactory::class, $parentPackages)) {
2375-
$container->removeDefinition($classToServices[MercureTransportFactory::class]);
2372+
if (ContainerBuilder::willBeAvailable('symfony/mercure-notifier', MercureTransportFactory::class, $parentPackages)) {
2373+
if (ContainerBuilder::willBeAvailable('symfony/mercure-bundle', MercureBundle::class, $parentPackages)) {
2374+
$definition = $container->getDefinition($classToServices[MercureTransportFactory::class]);
2375+
if (ContainerBuilder::willBeAvailable('symfony/mercure', HubRegistry::class, $parentPackages)) {
2376+
$definition->replaceArgument('$registry', new Reference(HubRegistry::class));
2377+
} else {
2378+
$definition->replaceArgument('$registry', new ServiceLocatorArgument(new TaggedIteratorArgument('mercure.publisher', null, null, true)));
2379+
}
2380+
} else {
2381+
$container->removeDefinition($classToServices[MercureTransportFactory::class]);
2382+
}
23762383
}
23772384

23782385
if (isset($config['admin_recipients'])) {

0 commit comments

Comments
 (0)