diff options
Diffstat (limited to 'share/templater/drupal-composer/setup')
-rwxr-xr-x | share/templater/drupal-composer/setup | 78 |
1 files changed, 41 insertions, 37 deletions
diff --git a/share/templater/drupal-composer/setup b/share/templater/drupal-composer/setup index 4b82243..fa057fc 100755 --- a/share/templater/drupal-composer/setup +++ b/share/templater/drupal-composer/setup @@ -9,69 +9,73 @@ SHARE="$1" # Include basic functions source $SHARE/templater/functions || exit 1 -# Drupal8 implementation -function templater_drupal8 { - if [ ! -e 'settings.php' ]; then - templater_echo "Setting up Drupal 8..." - - if [ ! -e ".gitignore" ] || ! grep -q "^settings.php" .gitignore; then - echo web/sites/default/settings.php >> .gitignore - echo web/sites/default/settings.local.php >> .gitignore - echo web/sites/default/settings.prod.php >> .gitignore - echo web/sites/default/services.yml >> .gitignore - echo web/sites/default/files >> .gitignore - echo sql >> .gitignore +# drupal-composer implementation +function templater_drupal_composer { + if [ ! -e 'web/sites/default/settings.local.php' ]; then + templater_echo "Setting up Drupal with composer..." + + # Check for existing composer.json + if [ -e "composer.json" ]; then + templater_echo "Cannot proceeed, composer.json already present" + return 1 fi - mkdir -p web/sites/default - - if [ ! -e "settings.dev.php" ]; then - cp $SHARE/drupal8/files/default.settings.php web/sites/default/settings.dev.php - #cp $SHARE/drupal8/files/default.settings.php . + # Check for composer + if ! which composer &> /dev/null; then + templater_echo "error: please install composer first" + return 1 fi - ln -sf settings.dev.php settings.php + # Setup project using composer + # See https://www.drupal.org/docs/develop/using-composer/using-composer-to-install-drupal-and-manage-dependencies + # https://www.drupal.org/docs/develop/using-composer/using-composer-with-drupal + #composer create-project drupal/recommended-project . + composer create-project drupal-composer/drupal-project:8.x-dev . --no-interaction - if [ ! -e "settings.local.php" ]; then - cp $SHARE/drupal7/files/settings.local.php web/sites/default/settings.local.php + if [ ! -e "web/sites/default/services.dev.yml" ]; then + cp $SHARE/drupal-composer/files/services.dev.yml web/sites/default/services.dev.yml fi - if [ ! -e "services.yml" ]; then - cp $SHARE/drupal8/files/default.services.yml web/sites/default/services.dev.yml - #cp $SHARE/drupal8/files/default.services.yml . + if [ ! -e "web/sites/default/settings.custom.php" ]; then + cp $SHARE/drupal-composer/files/settings.custom.php web/sites/default/settings.custom.php fi - ln -sf services.dev.yml services.yml - - templater_install_makefile $SHARE/drupal8/files/Makefile.drupal-composer + if [ ! -e "web/sites/default/settings.local.php" ]; then + cp $SHARE/drupal-composer/files/settings.local.php web/sites/default/settings.local.php - if [ ! -e "drupal.make.yml" ]; then - cp $SHARE/drupal8/files/drupal.make.yml . + if [ -d ".git" ]; then + git ignore web/sites/default/settings.local.php + fi fi + # Ensure both settings.custom.php and settings.local.php are loaded + cat $SHARE/drupal-composer/files/settings.loader.snippet >> web/sites/default/settings.php + + templater_install_makefile $SHARE/drupal-composer/files/Makefile.drupal-composer + if [ ! -e "README.drupal-composer.md" ]; then - cp $SHARE/drupal8/files/README.drupal-composer.md . + cp $SHARE/drupal-composer/files/README.drupal-composer.md . fi if [ -d "puppet" ] && [ ! -e "puppet/Puppetfile" ]; then - cp $SHARE/drupal8/files/puppet/Puppetfile puppet/ + cp $SHARE/drupal-composer/files/puppet/Puppetfile puppet/ else - cp $SHARE/drupal8/files/puppet/Puppetfile puppet/Puppetfile.drupal-composer + cp $SHARE/drupal-composer/files/puppet/Puppetfile puppet/Puppetfile.drupal-composer fi # Use pushtodeploy instead #if [ ! -e "bin/post-receive" ]; then - # mkdir -p bin && cp $SHARE/drupal8/files/bin/post-receive bin/ + # mkdir -p bin && cp $SHARE/drupal-composer/files/bin/post-receive bin/ #fi - templater_echo "Please use pushtodeploy module for automatede deploymends" + templater_echo "Please use pushtodeploy module for automated deployments" - mkdir -p files config/sync themes modules libraries vendor - touch {files,config/sync,themes,modules,libraries,vendor}/.empty - git add -f {files,config/sync,themes,modules,libraries}/.empty + mkdir -p web/sites/default/config/sync web/libraries vendor + touch web/sites/default/{files,config/sync}/.empty + git add -f web/sites/default/{files,config/sync}/.empty else templater_echo "Drupal already set" fi } # Dispatch -templater_drupal8 +templater_drupal_composer |