Skip to content

Commit b2a228b

Browse files
Merge branch '7.4' into 8.0
* 7.4: [DependencyInjection] Fix PriorityTaggedServiceTrait when tag attributes are not a list [Serializer][Validator] Attribute metadata no longer requires `container.excluded` tags Bump Symfony version to 7.4.2 Update VERSION for 7.4.1 Update CHANGELOG for 7.4.1 Bump Symfony version to 7.3.9 Update VERSION for 7.3.8 Update CHANGELOG for 7.3.8 Bump Symfony version to 6.4.31 Update VERSION for 6.4.30 Update CONTRIBUTORS for 6.4.30 Update CHANGELOG for 6.4.30
2 parents f37bc90 + 1a957ac commit b2a228b

File tree

2 files changed

+6
-29
lines changed

2 files changed

+6
-29
lines changed

DependencyInjection/AttributeMetadataPass.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
1515
use Symfony\Component\DependencyInjection\ContainerBuilder;
16-
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
1716
use Symfony\Component\Serializer\Exception\MappingException;
1817

1918
/**
@@ -33,9 +32,6 @@ public function process(ContainerBuilder $container): void
3332
if (!$definition->hasTag('serializer.attribute_metadata')) {
3433
continue;
3534
}
36-
if (!$definition->hasTag('container.excluded')) {
37-
throw new InvalidArgumentException(\sprintf('The resource "%s" tagged "serializer.attribute_metadata" is missing the "container.excluded" tag.', $id));
38-
}
3935
$class = $resolve($definition->getClass());
4036
foreach ($definition->getTag('serializer.attribute_metadata') as $attributes) {
4137
if ($class !== $for = $attributes['for'] ?? $class) {

Tests/DependencyInjection/AttributeMetadataPassTest.php

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
use PHPUnit\Framework\TestCase;
1515
use Symfony\Component\DependencyInjection\ContainerBuilder;
16-
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
1716
use Symfony\Component\Serializer\DependencyInjection\AttributeMetadataPass;
1817
use Symfony\Component\Serializer\Exception\MappingException;
1918
use Symfony\Component\Serializer\Mapping\Loader\AttributeLoader;
@@ -52,18 +51,14 @@ public function testProcessWithTaggedServices()
5251
->setArguments([false, []]);
5352

5453
$container->register('service1', '%user_entity.class%')
55-
->addTag('serializer.attribute_metadata')
56-
->addTag('container.excluded');
54+
->addTag('serializer.attribute_metadata');
5755
$container->register('service2', 'App\Entity\Product')
58-
->addTag('serializer.attribute_metadata')
59-
->addTag('container.excluded');
56+
->addTag('serializer.attribute_metadata');
6057
$container->register('service3', 'App\Entity\Order')
61-
->addTag('serializer.attribute_metadata')
62-
->addTag('container.excluded');
58+
->addTag('serializer.attribute_metadata');
6359
// Classes should be deduplicated
6460
$container->register('service4', 'App\Entity\Order')
65-
->addTag('serializer.attribute_metadata')
66-
->addTag('container.excluded');
61+
->addTag('serializer.attribute_metadata');
6762

6863
(new AttributeMetadataPass())->process($container);
6964

@@ -78,18 +73,6 @@ public function testProcessWithTaggedServices()
7873
$this->assertSame([false, $expectedClasses], $arguments);
7974
}
8075

81-
public function testThrowsWhenMissingExcludedTag()
82-
{
83-
$container = new ContainerBuilder();
84-
$container->register('serializer.mapping.attribute_loader');
85-
86-
$container->register('service_without_excluded', 'App\\Entity\\User')
87-
->addTag('serializer.attribute_metadata');
88-
89-
$this->expectException(InvalidArgumentException::class);
90-
(new AttributeMetadataPass())->process($container);
91-
}
92-
9376
public function testProcessWithForOptionAndMatchingMembers()
9477
{
9578
$sourceClass = _AttrMeta_Source::class;
@@ -100,8 +83,7 @@ public function testProcessWithForOptionAndMatchingMembers()
10083
->setArguments([false, []]);
10184

10285
$container->register('service.source', $sourceClass)
103-
->addTag('serializer.attribute_metadata', ['for' => $targetClass])
104-
->addTag('container.excluded');
86+
->addTag('serializer.attribute_metadata', ['for' => $targetClass]);
10587

10688
(new AttributeMetadataPass())->process($container);
10789

@@ -119,8 +101,7 @@ public function testProcessWithForOptionAndMissingMemberThrows()
119101
->setArguments([false, []]);
120102

121103
$container->register('service.source', $sourceClass)
122-
->addTag('serializer.attribute_metadata', ['for' => $targetClass])
123-
->addTag('container.excluded');
104+
->addTag('serializer.attribute_metadata', ['for' => $targetClass]);
124105

125106
$this->expectException(MappingException::class);
126107
(new AttributeMetadataPass())->process($container);

0 commit comments

Comments
 (0)