diff --git a/src/Composer/ComposerizeDrupalCommand.php b/src/Composer/ComposerizeDrupalCommand.php
index 446cacc..2e8eba5 100644
--- a/src/Composer/ComposerizeDrupalCommand.php
+++ b/src/Composer/ComposerizeDrupalCommand.php
@@ -255,9 +255,13 @@ protected function mergeTemplateGitignore()
protected function requireDrupalCore($root_composer_json)
{
$version_constraint = DrupalInspector::getVersionConstraint($this->drupalCoreVersion, $this->input->getOption('exact-versions'));
- $root_composer_json->require->{'drupal/core'} = $version_constraint;
+ $root_composer_json->require->{'drupal/core-recommended'} = $version_constraint;
$this->getIO()
- ->write("Added drupal/core $version_constraint to requirements.");
+ ->write("Added drupal/core-recommended $version_constraint to requirements.");
+ // Adding drupal/core-composer-scaffold with the same drupal core version.
+ $root_composer_json->require->{'drupal/core-composer-scaffold'} = $version_constraint;
+ $this->getIO()
+ ->write("Added drupal/core-composer-scaffold $version_constraint to requirements.");
}
/**
@@ -329,7 +333,7 @@ protected function removeAllComposerFiles()
$finder = new Finder();
$finder->in($this->baseDir)
->files()
- ->name('/^composer\.(lock|json)$/');
+ ->name('/(^composer\.(lock|json)$)|autoload.php/');
$files = iterator_to_array($finder);
$this->fs->remove($files);
}
diff --git a/src/Utility/ComposerJsonManipulator.php b/src/Utility/ComposerJsonManipulator.php
index 3201972..3912e2d 100644
--- a/src/Utility/ComposerJsonManipulator.php
+++ b/src/Utility/ComposerJsonManipulator.php
@@ -20,10 +20,10 @@ public static function processPaths(&$template_composer_json, $drupal_root)
}
}
- foreach ($template_composer_json->extra->{'merge-plugin'}->{'include'} as $key => $path) {
- $processed_path = str_replace('[drupal-root]/', $replacement, $path);
+ foreach ($template_composer_json->extra->{'drupal-scaffold'}->{'locations'} as $key => $path) {
+ $processed_path = str_replace('[drupal-root]', $replacement, $path);
if ($processed_path != $path) {
- $template_composer_json->extra->{'merge-plugin'}->{'include'}[$key] = $processed_path;
+ $template_composer_json->extra->{'drupal-scaffold'}->{'locations'}->{$key} = $processed_path;
}
}
}
diff --git a/template.composer.json b/template.composer.json
index 69116da..3bd38dd 100644
--- a/template.composer.json
+++ b/template.composer.json
@@ -22,27 +22,25 @@
"require": {
"php": "^5.5.9|>=7.0.8",
"composer/installers": "^1.2.0",
- "cweagans/composer-patches": "^1.6.5",
- "grasmash/drupal-security-warning": "^1.0.0",
- "oomphinc/composer-installers-extender": "^2.0",
- "wikimedia/composer-merge-plugin": "^2.0"
+ "cweagans/composer-patches": "^1.6.5"
},
"require-dev": {},
"config": {
"sort-packages": true,
- "discard-changes": true,
- "optimize-autoloader": true
+ "discard-changes": true
},
"conflict": {
"drupal/drupal": "*"
},
"extra": {
"enable-patching": true,
- "composer-exit-on-patch-failure": true,
- "patchLevel": {
- "drupal/core": "-p2"
- },
+ "composer-exit-on-patch-failure": false,
"patches": [],
+ "drupal-scaffold": {
+ "locations": {
+ "web-root": "./[drupal-root]"
+ }
+ },
"installer-types": ["bower-asset", "npm-asset"],
"installer-paths": {
"[drupal-root]/core": ["type:drupal-core"],
@@ -54,13 +52,6 @@
"[drupal-root]/themes/custom/{$name}": ["type:drupal-custom-theme"],
"[drupal-root]/libraries/{$name}": ["type:drupal-library", "type:bower-asset", "type:npm-asset"],
"drush/Commands/{$name}": ["type:drupal-drush"]
- },
- "merge-plugin": {
- "include": [
- "[drupal-root]/modules/custom/*/composer.json"
- ],
- "replace": false,
- "ignore-duplicates": true
}
},
"minimum-stability": "dev",
diff --git a/tests/phpunit/ComposerizeDrupalCommandTest.php b/tests/phpunit/ComposerizeDrupalCommandTest.php
index 8c407f5..c01d86b 100644
--- a/tests/phpunit/ComposerizeDrupalCommandTest.php
+++ b/tests/phpunit/ComposerizeDrupalCommandTest.php
@@ -211,12 +211,12 @@ protected function assertCorrectFileGeneration($relative_drupal_root)
$composer_json->require->{'drupal/ctools'}
);
$this->assertObjectHasAttribute(
- 'drupal/core',
+ 'drupal/core-recommended',
$composer_json->require
);
$this->assertEquals(
"^" . $this->sandboxManager->getDrupalVersion(),
- $composer_json->require->{'drupal/core'}
+ $composer_json->require->{'drupal/core-recommended'}
);
// Assert installer paths.
@@ -238,8 +238,5 @@ protected function assertCorrectFileGeneration($relative_drupal_root)
$this->assertObjectHasAttribute('drupal/ctools', $composer_json->extra->patches);
$this->assertObjectHasAttribute($patch_relative_path, $composer_json->extra->patches->{"drupal/ctools"});
$this->assertEquals($patch_relative_path, $composer_json->extra->patches->{"drupal/ctools"}->{$patch_relative_path});
-
- // Assert merge-plugin.
- $this->assertContains($relative_drupal_root . "modules/custom/*/composer.json", $composer_json->extra->{'merge-plugin'}->include);
}
}