<?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 http://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>
                <argument type="service">
                    <!-- dummy arg to register class_exists as annotation loader only when required -->
                    <service class="Doctrine\Common\Annotations\AnnotationRegistry">
                        <call method="registerLoader">
                            <argument>class_exists</argument>
                        </call>
                    </service>
                </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" />
        </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" public="true" />
        <service id="Doctrine\Common\Annotations\Reader" alias="annotation_reader" />
    </services>
</container>
