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 | 
