Skip to content

Commit a2fb5d8

Browse files
authored
[feature] Register Runner aliases (#272)
1 parent 91d1c30 commit a2fb5d8

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

DependencyInjection/Compiler/GroupRunnersCompilerPass.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Liip\MonitorBundle\DependencyInjection\Compiler;
44

5+
use Liip\MonitorBundle\Runner;
56
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
67
use Symfony\Component\DependencyInjection\ContainerBuilder;
78

@@ -35,10 +36,12 @@ public function process(ContainerBuilder $container): void
3536
$runners = [];
3637
foreach ($groups as $group) {
3738
$container->setDefinition('liip_monitor.runner_'.$group, clone $definition);
39+
$container->registerAliasForArgument('liip_monitor.runner_'.$group, Runner::class, $group.'Runner');
3840
$runners[] = 'liip_monitor.runner_'.$group;
3941
}
4042

4143
$container->setAlias('liip_monitor.runner', 'liip_monitor.runner_'.$defaultGroup);
44+
$container->setAlias(Runner::class, 'liip_monitor.runner');
4245
$runner = $container->getAlias('liip_monitor.runner');
4346
$runner->setPublic(true);
4447

@@ -48,7 +51,7 @@ public function process(ContainerBuilder $container): void
4851
private function getGroups(array $services): array
4952
{
5053
$groups = [];
51-
foreach ($services as $serviceId => $tags) {
54+
foreach ($services as $tags) {
5255
foreach ($tags as $attributes) {
5356
if (!empty($attributes['group'])) {
5457
$groups[$attributes['group']] = true;

Tests/DependencyInjection/Compiler/GroupRunnersCompilerPassTest.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Liip\MonitorBundle\Tests\DependencyInjection\Compiler;
44

55
use Liip\MonitorBundle\DependencyInjection\Compiler\GroupRunnersCompilerPass;
6+
use Liip\MonitorBundle\Runner;
67
use Matthias\SymfonyDependencyInjectionTest\PhpUnit\AbstractCompilerPassTestCase;
78
use Symfony\Component\DependencyInjection\ContainerBuilder;
89
use Symfony\Component\DependencyInjection\Definition;
@@ -35,6 +36,12 @@ public function testProcess(): void
3536
$this->assertContainerBuilderHasService('liip_monitor.runner_foobar');
3637
$this->assertContainerBuilderHasService('liip_monitor.runner_bar');
3738
$this->assertContainerBuilderHasService('liip_monitor.runner_baz');
39+
$this->assertContainerBuilderHasAlias(Runner::class.' $fooRunner', 'liip_monitor.runner_foo');
40+
$this->assertContainerBuilderHasAlias(Runner::class.' $foobarRunner', 'liip_monitor.runner_foobar');
41+
$this->assertContainerBuilderHasAlias(Runner::class.' $barRunner', 'liip_monitor.runner_bar');
42+
$this->assertContainerBuilderHasAlias(Runner::class.' $bazRunner', 'liip_monitor.runner_baz');
43+
$this->assertContainerBuilderHasAlias(Runner::class.' $groupeParDéfautRunner', 'liip_monitor.runner_'.$defaultGroup);
44+
$this->assertContainerBuilderHasAlias(Runner::class, 'liip_monitor.runner');
3845
}
3946

4047
protected function registerCompilerPass(ContainerBuilder $container): void

0 commit comments

Comments
 (0)