Example #1
0
 /**
  * Build and return an array of Task.
  *
  * @param array $taskConfigurations
  * @return Task[]
  */
 public function build(array $taskConfigurations)
 {
     $resolver = new OptionsResolver();
     $tasks = [];
     foreach ($taskConfigurations as $taskName => $taskConfiguration) {
         $resolver->clear();
         // debug mode
         if ($this->debug === true) {
             $taskConfiguration['debug'] = $this->debug;
         }
         // add copy filter in last position if required
         if (!$this->hasCopyFilter($taskConfiguration)) {
             $taskConfiguration['filters'][] = 'copy';
         }
         $configuration = new TaskConfiguration();
         $configuration->configureOptions($resolver);
         $configuration->setParameters($resolver->resolve($taskConfiguration));
         $task = new Task($taskName, $configuration);
         $tasks[$taskName] = $task;
     }
     return $tasks;
 }
Example #2
0
 /**
  * @param $name
  * @param $configuration
  * @return Task
  */
 protected function getTask($name, $configuration)
 {
     $resolver = new OptionsResolver();
     $taskConfiguration = new TaskConfiguration();
     $taskConfiguration->configureOptions($resolver);
     $taskConfiguration->setParameters($resolver->resolve($configuration));
     $task = new Task($name, $taskConfiguration);
     return $task;
 }