コード例 #1
0
 /**
  * @param AbstractResourceFile $resource the next task to find matching the target resource.
  * @return RenderFixTask False if no matching task.
  */
 public function next(AbstractResourceFile $resource)
 {
     foreach ($this->queue as $key => $task) {
         if ($task->getResource()->getMemberId() === $resource->getMemberId()) {
             unset($this->queue[$key]);
             return $task;
         }
     }
     return FALSE;
 }
コード例 #2
0
 public function buildCache(AbstractResourceFile $resource)
 {
     $this->getParentProject()->getCacheManager()->registerDirectory($resource->getFile()->getAbsoluteFile()->getParentFile());
     $cache_dir = $this->getParentProject()->getCacheManager()->searchCacheDir($resource->getFile()->getAbsoluteFile()->getParentFile());
     if (\is_null($cache_dir) || $cache_dir->isFile()) {
         throw new CacheBuildFileException("[" . $this->getParentProject()->getProjectName() . "]Cache Build Failed: " . $resource->getFile()->getAbsolutePath());
     }
     if (!$cache_dir->exists()) {
         $cache_dir->mkdirs();
     }
     $cache_file = new File(substr($resource->getFile()->getName(), 0, -5), $cache_dir->getAbsolutePath());
     \file_put_contents($cache_file->getAbsolutePath(), $this->compile($resource));
     $this->getParentProject()->getCacheManager()->registerCache($resource, $cache_file);
 }