diff --git a/prepareLocally.sh b/prepareLocally.sh new file mode 100755 index 0000000000000000000000000000000000000000..183effe18225dbde109d76c1d863cacb14f915a8 --- /dev/null +++ b/prepareLocally.sh @@ -0,0 +1,9 @@ +#!/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 diff --git a/src/Handler.php b/src/Handler.php index 2fe7d75b86cc46c04ade1dec2ec1869bd95adba0..4cb2557d5bab4c1d85d72c95a3501e4aa2ce6f54 100644 --- a/src/Handler.php +++ b/src/Handler.php @@ -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); } }