Skip to content

Commit 32fc3c6

Browse files
committed
[JsonStreamer] Make cache warmers non-optional
1 parent 4798ba5 commit 32fc3c6

File tree

5 files changed

+14
-7
lines changed

5 files changed

+14
-7
lines changed

src/Symfony/Component/JsonStreamer/CacheWarmer/LazyGhostCacheWarmer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public function warmUp(string $cacheDir, ?string $buildDir = null): array
5555

5656
public function isOptional(): bool
5757
{
58-
return true;
58+
return false;
5959
}
6060

6161
/**

src/Symfony/Component/JsonStreamer/CacheWarmer/StreamerCacheWarmer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public function warmUp(string $cacheDir, ?string $buildDir = null): array
7070

7171
public function isOptional(): bool
7272
{
73-
return true;
73+
return false;
7474
}
7575

7676
private function warmUpStreamWriter(Type $type): void

src/Symfony/Component/JsonStreamer/DependencyInjection/StreamablePass.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
namespace Symfony\Component\JsonStreamer\DependencyInjection;
1313

14+
use Symfony\Component\Config\Resource\ReflectionClassResource;
1415
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
1516
use Symfony\Component\DependencyInjection\ContainerBuilder;
1617

@@ -40,6 +41,8 @@ public function process(ContainerBuilder $container): void
4041
'object' => $tag['object'],
4142
'list' => $tag['list'],
4243
];
44+
45+
$container->addResource(new ReflectionClassResource(new \ReflectionClass($className)));
4346
}
4447

4548
$container->removeDefinition($id);

src/Symfony/Component/JsonStreamer/Tests/DependencyInjection/StreamablePassTest.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
use PHPUnit\Framework\TestCase;
1515
use Symfony\Component\DependencyInjection\ContainerBuilder;
1616
use Symfony\Component\JsonStreamer\DependencyInjection\StreamablePass;
17+
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\ClassicDummy;
18+
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithArray;
19+
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithGenerics;
1720

1821
class StreamablePassTest extends TestCase
1922
{
@@ -25,17 +28,17 @@ public function testSetStreamable()
2528
$container->register('.json_streamer.cache_warmer.streamer')->setArguments([null]);
2629
$container->register('.json_streamer.cache_warmer.lazy_ghost')->setArguments([null]);
2730

28-
$container->register('streamable')->setClass('Foo')->addTag('json_streamer.streamable', ['object' => true, 'list' => true]);
29-
$container->register('abstractStreamable')->setClass('Bar')->addTag('json_streamer.streamable', ['object' => true, 'list' => true])->setAbstract(true);
30-
$container->register('notStreamable')->setClass('Baz');
31+
$container->register('streamable')->setClass(ClassicDummy::class)->addTag('json_streamer.streamable', ['object' => true, 'list' => true]);
32+
$container->register('abstractStreamable')->setClass(DummyWithArray::class)->addTag('json_streamer.streamable', ['object' => true, 'list' => true])->setAbstract(true);
33+
$container->register('notStreamable')->setClass(DummyWithGenerics::class);
3134

3235
$pass = new StreamablePass();
3336
$pass->process($container);
3437

3538
$streamerCacheWarmer = $container->getDefinition('.json_streamer.cache_warmer.streamer');
3639
$lazyGhostCacheWarmer = $container->getDefinition('.json_streamer.cache_warmer.lazy_ghost');
3740

38-
$this->assertSame(['Foo' => ['object' => true, 'list' => true]], $streamerCacheWarmer->getArgument(0));
39-
$this->assertSame(['Foo'], $lazyGhostCacheWarmer->getArgument(0));
41+
$this->assertSame([ClassicDummy::class => ['object' => true, 'list' => true]], $streamerCacheWarmer->getArgument(0));
42+
$this->assertSame([ClassicDummy::class], $lazyGhostCacheWarmer->getArgument(0));
4043
}
4144
}

src/Symfony/Component/JsonStreamer/composer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
},
2727
"require-dev": {
2828
"phpstan/phpdoc-parser": "^1.0",
29+
"symfony/config": "^7.2",
2930
"symfony/dependency-injection": "^7.2",
3031
"symfony/http-kernel": "^7.2"
3132
},

0 commit comments

Comments
 (0)