Exemple #1
0
 /**
  * {@inheritdoc}
  */
 public function execute(ArgumentList $args, BuilderInterface $builder, $simulate)
 {
     $file = $builder->target($args[0]);
     $mode = $args->get(1, 0644);
     if (!file_exists($file)) {
         $builder->exec('create', [$file, $mode]);
     } else {
         if (!$simulate) {
             touch($file);
         }
         $builder->did('touch', $args[0]);
     }
 }
 /**
  * {@inheritdoc}
  */
 public function execute(ArgumentList $args, BuilderInterface $builder, $simulate)
 {
     $source = $builder->source($args[0]);
     $target = $builder->target($args[1]);
     $variables = $args->get(2, array());
     $mode = $args->get(3, 0644);
     $directory = dirname($target);
     if (!is_dir($directory)) {
         $builder->exec('mkdir', [$directory, 0755, true]);
     }
     if (file_exists($target)) {
         throw new ActionFailedException("Target {$target} already exists");
     }
     $variables['args'] = $builder->getArguments();
     $content = $this->getTemplateContent($source, $variables);
     if (!$simulate) {
         file_put_contents($target, $content);
         chmod($target, $mode);
     }
     $builder->did('generate', $args[1], [decoct($mode)]);
 }