From ba20bb2e7e0f3e42d3fed2790f24f77c1e4e12f3 Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Sun, 27 Jan 2019 11:52:17 +0100 Subject: [PATCH] move add mime type guesser pass to the component --- .../Bundle/FrameworkBundle/FrameworkBundle.php | 4 ++-- .../AddMimeTypeGuesserPass.php | 17 +++++++++++++---- .../AddMimeTypeGuesserPassTest.php | 4 ++-- src/Symfony/Component/Mime/composer.json | 3 +++ 4 files changed, 20 insertions(+), 8 deletions(-) rename src/Symfony/{Bundle/FrameworkBundle/DependencyInjection/Compiler => Component/Mime/DependencyInjection}/AddMimeTypeGuesserPass.php (56%) rename src/Symfony/{Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler => Component/Mime/Tests/DependencyInjection}/AddMimeTypeGuesserPassTest.php (89%) diff --git a/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php b/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php index 1706b699ab0f..c3977c399dca 100644 --- a/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php +++ b/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php @@ -14,7 +14,6 @@ use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\AddAnnotationsCachedReaderPass; use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\AddDebugLogProcessorPass; use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\AddExpressionLanguageProvidersPass; -use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\AddMimeTypeGuesserPass; use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\ContainerBuilderDebugDumpPass; use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\DataCollectorTranslatorPass; use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\LoggingTranslatorPass; @@ -45,6 +44,7 @@ use Symfony\Component\HttpKernel\DependencyInjection\ResettableServicePass; use Symfony\Component\HttpKernel\KernelEvents; use Symfony\Component\Messenger\DependencyInjection\MessengerPass; +use Symfony\Component\Mime\DependencyInjection\AddMimeTypeGuesserPass; use Symfony\Component\PropertyInfo\DependencyInjection\PropertyInfoPass; use Symfony\Component\Routing\DependencyInjection\RoutingResolverPass; use Symfony\Component\Serializer\DependencyInjection\SerializerPass; @@ -124,7 +124,7 @@ public function build(ContainerBuilder $container) $container->addCompilerPass(new ResettableServicePass()); $container->addCompilerPass(new TestServiceContainerWeakRefPass(), PassConfig::TYPE_BEFORE_REMOVING, -32); $container->addCompilerPass(new TestServiceContainerRealRefPass(), PassConfig::TYPE_AFTER_REMOVING); - $container->addCompilerPass(new AddMimeTypeGuesserPass()); + $this->addCompilerPassIfExists($container, AddMimeTypeGuesserPass::class); $this->addCompilerPassIfExists($container, MessengerPass::class); if ($container->getParameter('kernel.debug')) { diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/AddMimeTypeGuesserPass.php b/src/Symfony/Component/Mime/DependencyInjection/AddMimeTypeGuesserPass.php similarity index 56% rename from src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/AddMimeTypeGuesserPass.php rename to src/Symfony/Component/Mime/DependencyInjection/AddMimeTypeGuesserPass.php index 25c848709695..e24beb0da14e 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/AddMimeTypeGuesserPass.php +++ b/src/Symfony/Component/Mime/DependencyInjection/AddMimeTypeGuesserPass.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -namespace Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler; +namespace Symfony\Component\Mime\DependencyInjection; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -22,14 +22,23 @@ */ class AddMimeTypeGuesserPass implements CompilerPassInterface { + private $mimeTypesService; + private $mimeTypeGuesserTag; + + public function __construct(string $mimeTypesService = 'mime_types', string $mimeTypeGuesserTag = 'mime.mime_type_guesser') + { + $this->mimeTypesService = $mimeTypesService; + $this->mimeTypeGuesserTag = $mimeTypeGuesserTag; + } + /** * {@inheritdoc} */ public function process(ContainerBuilder $container) { - if ($container->has('mime_types')) { - $definition = $container->findDefinition('mime_types'); - foreach ($container->findTaggedServiceIds('mime.mime_type_guesser', true) as $id => $attributes) { + if ($container->has($this->mimeTypesService)) { + $definition = $container->findDefinition($this->mimeTypesService); + foreach ($container->findTaggedServiceIds($this->mimeTypeGuesserTag, true) as $id => $attributes) { $definition->addMethodCall('registerGuesser', [new Reference($id)]); } } diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/AddMimeTypeGuesserPassTest.php b/src/Symfony/Component/Mime/Tests/DependencyInjection/AddMimeTypeGuesserPassTest.php similarity index 89% rename from src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/AddMimeTypeGuesserPassTest.php rename to src/Symfony/Component/Mime/Tests/DependencyInjection/AddMimeTypeGuesserPassTest.php index 578dc5a61bf1..cf40a4675f11 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/AddMimeTypeGuesserPassTest.php +++ b/src/Symfony/Component/Mime/Tests/DependencyInjection/AddMimeTypeGuesserPassTest.php @@ -9,13 +9,13 @@ * file that was distributed with this source code. */ -namespace Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler; +namespace Symfony\Component\Mime\Tests\DependencyInjection; use PHPUnit\Framework\TestCase; -use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\AddMimeTypeGuesserPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Reference; +use Symfony\Component\Mime\DependencyInjection\AddMimeTypeGuesserPass; use Symfony\Component\Mime\FileinfoMimeTypeGuesser; use Symfony\Component\Mime\MimeTypes; diff --git a/src/Symfony/Component/Mime/composer.json b/src/Symfony/Component/Mime/composer.json index ca45ef33814b..d06ed31dc103 100644 --- a/src/Symfony/Component/Mime/composer.json +++ b/src/Symfony/Component/Mime/composer.json @@ -18,6 +18,9 @@ "require": { "php": "^7.1.3" }, + "require-dev": { + "symfony/dependency-injection": "~3.4|^4.1" + }, "autoload": { "psr-4": { "Symfony\\Component\\Mime\\": "" }, "exclude-from-classmap": [