// 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
// autoload.php file in the vendor directory, wherever that is. Drupal
// requires this in order to easily locate relocated vendor dirs.
$web_root =
$this->manageOptions->
getOptions()->
getLocation('web-root'
);
if (!GenerateAutoloadReferenceFile::
autoloadFileCommitted($this->io,
$this->
rootPackageName(),
$web_root)) { $scaffold_results[] = GenerateAutoloadReferenceFile::
generateAutoload($this->io,
$this->
rootPackageName(),
$web_root,
$this->
getVendorPath());
} // Add the managed scaffold files to .gitignore if applicable.
$gitIgnoreManager =
new ManageGitIgnore($this->io,
getcwd());