<?xml version="1.0" ?>

<container xmlns="http://symfony.com/schema/dic/services"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">

    <services>
        <defaults public="false" />

        <service id="annotations.reader" class="Doctrine\Common\Annotations\AnnotationReader">
            <call method="addGlobalIgnoredName">
                <argument>required</argument>
                <!-- dummy arg to register class_exists as annotation loader only when required -->
                <argument type="service" id="annotations.dummy_registry" />
            </call>
        </service>

        <service id="annotations.dummy_registry" class="Doctrine\Common\Annotations\AnnotationRegistry">
            <call method="registerUniqueLoader">
                <argument>class_exists</argument>
            </call>
        </service>

        <service id="annotations.cached_reader" class="Doctrine\Common\Annotations\CachedReader">
            <argument type="service" id="annotations.reader" />
            <argument type="service">
                <service class="Doctrine\Common\Cache\ArrayCache" />
            </argument>
            <argument /><!-- Debug-Flag -->
        </service>

        <service id="annotations.filesystem_cache" class="Doctrine\Common\Cache\FilesystemCache">
            <argument /><!-- Cache-Directory -->
        </service>

        <service id="annotations.cache_warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\AnnotationsCacheWarmer">
            <argument type="service" id="annotations.reader" />
            <argument>%kernel.cache_dir%/annotations.php</argument>
            <argument type="service" id="cache.annotations" />
            <argument>#^Symfony\\(?:Component\\HttpKernel\\|Bundle\\FrameworkBundle\\Controller\\(?!.*Controller$))#</argument>
            <argument>%kernel.debug%</argument>
        </service>

        <service id="annotations.cache" class="Symfony\Component\Cache\DoctrineProvider">
            <argument type="service">
                <service class="Symfony\Component\Cache\Adapter\PhpArrayAdapter">
                    <factory class="Symfony\Component\Cache\Adapter\PhpArrayAdapter" method="create" />
                    <argument>%kernel.cache_dir%/annotations.php</argument>
                    <argument type="service" id="cache.annotations" />
                </service>
            </argument>
        </service>

        <service id="annotation_reader" alias="annotations.reader" />
        <service id="Doctrine\Common\Annotations\Reader" alias="annotation_reader" />
    </services>
</container>
