Example #1
0
 /** @return Job[] */
 public function compile($includedJobs = null)
 {
     $jobs = [];
     if ($includedJobs !== null) {
         $includedJobs = array_flip($includedJobs);
     }
     foreach ($this->configuration->getNode('jobs') as $jobId => $jobConfiguration) {
         if ($includedJobs !== null && !array_key_exists($jobId, $includedJobs)) {
             continue;
         }
         $job = new Job();
         $job->configuration->extend($this->processConfigurationTemplates($this->configuration->getNode('default', null, true)));
         $job->configuration->extend($this->processConfigurationTemplates($this->configuration->getNode('sprites', null, true)), 'sprites');
         $job->configuration->extend($this->processConfigurationTemplates(Tools::deepCloneObject($jobConfiguration)));
         if (!$job->configuration->getBool('enabled', true)) {
             continue;
         }
         $this->loadHelpers($job);
         $this->loadSprites($job);
         $this->generateSpritesheets($job);
         $this->renderSpritesheets($job);
         $jobs[] = $job;
     }
     return $jobs;
 }