protected function buildInProjectMode($projectMake)
{
$drushHelper = $this->getDrushHelper();
$drushHelper->ensureInstalled();
$drushFlags = $this->getDrushFlags();
$drupalRoot = $this->getWebRoot();
$args = array_merge(['make', $projectMake, $drupalRoot], $drushFlags);
// Create a lock file automatically.
if (!strpos($projectMake, '.lock') && version_compare($drushHelper->getVersion(), '7.0.0-rc1', '>=') && !empty($this->settings['lock'])) {
$args[] = "--lock={$projectMake}.lock";
}
// Run Drush make.
//
// Note that this is run inside the make file's directory. This fixes an
// issue with the 'copy' Drush Make download type. According to the
// Drush documentation, URLs for copying files can be either absolute or
// relative to the make file's directory. However, in Drush's actual
// implementation, it's actually relative to the current working
// directory.
$drushHelper->execute($args, dirname($projectMake), true, false);
$this->processSettingsPhp();
$this->ignoredFiles[] = '*.make';
$this->ignoredFiles[] = '*.make.lock';
$this->ignoredFiles[] = '*.make.yml';
$this->ignoredFiles[] = '*.make.yml.lock';
$this->ignoredFiles[] = 'settings.local.php';
$this->specialDestinations['sites.php'] = '{webroot}/sites';
// Symlink, non-recursively, all files from the app into the
// 'sites/default' directory.
$this->fsHelper->symlinkAll($this->appRoot, $drupalRoot . '/sites/default', true, false, array_merge($this->ignoredFiles, array_keys($this->specialDestinations)), $this->copy);
}