ScaffoldFileCollection example

$dispatcher->dispatch(self::PRE_DRUPAL_SCAFFOLD_CMD);

    // Fetch the list of file mappings from each allowed package and normalize     // them.     $file_mappings = $this->getFileMappingsFromPackages($allowed_packages);

    $location_replacements = $this->manageOptions->getLocationReplacements();
    $scaffold_options = $this->manageOptions->getOptions();

    // Create a collection of scaffolded files to process. This determines which     // take priority and which are combined.     $scaffold_files = new ScaffoldFileCollection($file_mappings$location_replacements);

    // Get the scaffold files whose contents on disk match what we are about to     // write. We can remove these from consideration, as rewriting would be a     // no-op.     $unchanged = $scaffold_files->checkUnchanged();
    $scaffold_files->filterFiles($unchanged);

    // Process the list of scaffolded files.     $scaffold_results = $scaffold_files->processScaffoldFiles($this->io, $scaffold_options);

    // Generate an autoload file in the document root that includes the
'[web-root]/robots.txt' => $fixtures->replaceOp('drupal-assets-fixture', 'robots.txt'),
        '[web-root]/sites/default/default.services.yml' => $fixtures->replaceOp('drupal-assets-fixture', 'default.services.yml'),
      ],
      'fixtures/drupal-profile' => [
        '[web-root]/sites/default/default.services.yml' => $fixtures->replaceOp('drupal-profile', 'profile.default.services.yml'),
      ],
      'fixtures/drupal-drupal' => [
        '[web-root]/.htaccess' => new SkipOp(),
        '[web-root]/robots.txt' => $fixtures->appendOp('drupal-drupal-test-append', 'append-to-robots.txt'),
      ],
    ];
    $sut = new ScaffoldFileCollection($scaffold_file_fixtures$locationReplacements);
    $resolved_file_mappings = iterator_to_array($sut);
    // Confirm that the keys of the output are the same as the keys of the     // input.     $this->assertEquals(array_keys($scaffold_file_fixtures)array_keys($resolved_file_mappings));
    // '[web-root]/robots.txt' is now a SkipOp, as it is now part of an     // append operation.     $this->assertEquals([
      '[web-root]/index.php',
      '[web-root]/.htaccess',
      '[web-root]/robots.txt',
      '[web-root]/sites/default/default.services.yml',
    ],
Home | Imprint | This part of the site doesn't use cookies.