Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / consolidation / robo / src / Task / Filesystem / MirrorDir.php
1 <?php
2 namespace Robo\Task\Filesystem;
3
4 use Robo\Result;
5
6 /**
7  * Mirrors a directory to another
8  *
9  * ``` php
10  * <?php
11  * $this->taskMirrorDir(['dist/config/' => 'config/'])->run();
12  * // or use shortcut
13  * $this->_mirrorDir('dist/config/', 'config/');
14  *
15  * ?>
16  * ```
17  */
18 class MirrorDir extends BaseDir
19 {
20     /**
21      * {@inheritdoc}
22      */
23     public function run()
24     {
25         foreach ($this->dirs as $src => $dst) {
26             $this->fs->mirror(
27                 $src,
28                 $dst,
29                 null,
30                 [
31                     'override' => true,
32                     'copy_on_windows' => true,
33                     'delete' => true
34                 ]
35             );
36             $this->printTaskInfo("Mirrored from {source} to {destination}", ['source' => $src, 'destination' => $dst]);
37         }
38         return Result::success($this);
39     }
40 }