Skip to content
Snippets Groups Projects
Commit e3cbc41f authored by jurgenhaas's avatar jurgenhaas
Browse files

Work with the explicit composer.spoon.json file and keep the project's...

Work with the explicit composer.spoon.json file and keep the project's original composer.json untouched
Provide a bash script to prepare local environment
parent 8534ffdf
No related branches found
No related tags found
No related merge requests found
#!/bin/bash
COMPOSER=composer.spoons.json
export COMPOSER
composer require --dev lakedrops/drupal-spoons:dev-master composer/installers:^1
composer drupalspoons:prepare
composer drupalspoons:configure
composer update --dev
......@@ -48,20 +48,26 @@ class Handler {
$fs = new Filesystem();
$projectRoot = getcwd();
$composerJson = getenv('COMPOSER');
if (empty($composerJson)) {
$this->io->writeError('The environment variable COMPOSER is not set, aborting!');
return;
}
$composerLock = str_replace('.json', '.lock', $composerJson);
// Append DrupalSpoon related components to composer.json.
$content = $this->defaultSettings();
foreach (['composer.disabled.json', 'composer.json'] as $file) {
foreach ([$composerJson, 'composer.json'] as $file) {
$jsonFile = new JsonFile($projectRoot . '/' . $file);
if ($jsonFile->exists()) {
$content = NestedArray::mergeDeep($content, $jsonFile->read());
$fs->remove($projectRoot . '/' . $file);
}
}
$jsonFile = new JsonFile($projectRoot . '/composer.json');
$jsonFile = new JsonFile($projectRoot . '/' . $composerJson);
$jsonFile->write($content);
// Add some patterns to .gitignore.
foreach (['/vendor/', '/web/', '.env'] as $item) {
foreach ([$composerJson, $composerLock, '/vendor/', '/web/', '.env'] as $item) {
exec('git ignore ' . $item);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment