Explorar o código

[AsseticBundle] Fix the cache warmers

Victor Berchet %!s(int64=14) %!d(string=hai) anos
pai
achega
1191e3aa66

+ 6 - 5
src/Symfony/Bundle/AsseticBundle/CacheWarmer/AssetManagerCacheWarmer.php

@@ -11,21 +11,22 @@
 
 
 namespace Symfony\Bundle\AsseticBundle\CacheWarmer;
 namespace Symfony\Bundle\AsseticBundle\CacheWarmer;
 
 
-use Assetic\Factory\LazyAssetManager;
 use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmer;
 use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmer;
+use Symfony\Component\DependencyInjection\ContainerInterface;
 
 
 class AssetManagerCacheWarmer extends CacheWarmer
 class AssetManagerCacheWarmer extends CacheWarmer
 {
 {
-    protected $am;
+    private $container;
 
 
-    public function __construct(LazyAssetManager $am)
+    public function __construct(ContainerInterface $container)
     {
     {
-        $this->am = $am;
+        $this->container = $container;
     }
     }
 
 
     public function warmUp($cacheDir)
     public function warmUp($cacheDir)
     {
     {
-        $this->am->load();
+        $am = $this->container->get('assetic.asset_manager');
+        $am->load();
     }
     }
 
 
     public function isOptional()
     public function isOptional()

+ 7 - 6
src/Symfony/Bundle/AsseticBundle/CacheWarmer/AssetWriterCacheWarmer.php

@@ -11,24 +11,25 @@
 
 
 namespace Symfony\Bundle\AsseticBundle\CacheWarmer;
 namespace Symfony\Bundle\AsseticBundle\CacheWarmer;
 
 
-use Assetic\AssetManager;
 use Assetic\AssetWriter;
 use Assetic\AssetWriter;
 use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmer;
 use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmer;
+use Symfony\Component\DependencyInjection\ContainerInterface;
 
 
 class AssetWriterCacheWarmer extends CacheWarmer
 class AssetWriterCacheWarmer extends CacheWarmer
 {
 {
-    protected $am;
-    protected $writer;
+    private $container;
+    private $writer;
 
 
-    public function __construct(AssetManager $am, AssetWriter $writer)
+    public function __construct(ContainerInterface $container, AssetWriter $writer)
     {
     {
-        $this->am = $am;
+        $this->container = $container;
         $this->writer = $writer;
         $this->writer = $writer;
     }
     }
 
 
     public function warmUp($cacheDir)
     public function warmUp($cacheDir)
     {
     {
-        $this->writer->writeManagerAssets($this->am);
+        $am = $this->container->get('assetic.asset_manager');
+        $this->writer->writeManagerAssets($am);
     }
     }
 
 
     public function isOptional()
     public function isOptional()

+ 1 - 1
src/Symfony/Bundle/AsseticBundle/Resources/config/asset_writer.xml

@@ -12,7 +12,7 @@
     <services>
     <services>
         <service id="assetic.asset_writer_cache_warmer" class="%assetic.asset_writer_cache_warmer.class%" public="false">
         <service id="assetic.asset_writer_cache_warmer" class="%assetic.asset_writer_cache_warmer.class%" public="false">
             <tag name="kernel.cache_warmer" />
             <tag name="kernel.cache_warmer" />
-            <argument type="service" id="assetic.asset_manager" />
+            <argument type="service" id="service_container" />
             <argument type="service" id="assetic.asset_writer" />
             <argument type="service" id="assetic.asset_writer" />
         </service>
         </service>
         <service id="assetic.asset_writer" class="%assetic.asset_writer.class%" public="false">
         <service id="assetic.asset_writer" class="%assetic.asset_writer.class%" public="false">

+ 1 - 1
src/Symfony/Bundle/AsseticBundle/Resources/config/assetic.xml

@@ -42,7 +42,7 @@
 
 
         <service id="assetic.asset_manager_cache_warmer" class="%assetic.asset_manager_cache_warmer.class%" public="false">
         <service id="assetic.asset_manager_cache_warmer" class="%assetic.asset_manager_cache_warmer.class%" public="false">
             <tag name="kernel.cache_warmer" priority="10" />
             <tag name="kernel.cache_warmer" priority="10" />
-            <argument type="service" id="assetic.asset_manager" />
+            <argument type="service" id="service_container" />
         </service>
         </service>
     </services>
     </services>
 </container>
 </container>

+ 4 - 1
src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

@@ -370,7 +370,10 @@ class FrameworkExtension extends Extension
         }
         }
 
 
         if ($config['cache_warmer']) {
         if ($config['cache_warmer']) {
-            $container->getDefinition('templating.cache_warmer.template_paths')->addTag('kernel.cache_warmer');
+            $container
+                ->getDefinition('templating.cache_warmer.template_paths')
+                ->addTag('kernel.cache_warmer', array('priority' => 20))
+            ;
             $container->setAlias('templating.locator', 'templating.locator.cached');
             $container->setAlias('templating.locator', 'templating.locator.cached');
         } else {
         } else {
             $container->setAlias('templating.locator', 'templating.locator.uncached');
             $container->setAlias('templating.locator', 'templating.locator.uncached');