Skip to content
Snippets Groups Projects
start.sh 3.88 KiB
Newer Older
  • Learn to ignore specific revisions
  •     # shellcheck disable=SC2046
        # shellcheck disable=SC2002
    
        export $(cat .env | xargs) > /dev/null 2>&1
      fi
    
      rm .* > /dev/null 2>&1
    }
    
    function restoreEnvFile {
      if [[ -n ${PHP_VERSION} ]]; then
        echo "PHP_VERSION=${PHP_VERSION}" >>.env
      fi
      if [[ -n ${COMPOSE_PROJECT_NAME} ]]; then
        echo "COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME}" >>.env
      fi
      if [[ -f ".env" ]]; then
    
        # shellcheck disable=SC2046
        # shellcheck disable=SC2094
        # shellcheck disable=SC2002
    
        env -i $(cat .env | xargs) >.env
      fi
    }
    
    function create {
    
      if [[ -f ".init_site.json" ]]; then
        mv .init_site.json /tmp/init_site.json
      fi
    
        composer create-project "${PROJECT}" ./ --no-interaction --repository "${REPOSITORY}"
    
        composer create-project "${PROJECT}" ./ --no-interaction
    
    
      if [[ -f "docker-compose.yml" ]]; then
        if [[ -f "web/profiles/contrib/config_installer/config_installer.info.yml" ]]; then
          # Start container
          a d4d up
    
          drush --no-interaction si config_installer
    
          # Init site config values
    
          if [[ -f "drush/Commands/dev_modules/dev_modules.info.yml" ]]; then
    
            if [[ -f "/tmp/init_site.json" ]]; then
    
              mv /tmp/init_site.json web/.init_site.json
              drush site:init .init_site.json
              rm web/.init_site.json
    
            git ignore "/*.sql"
            drush sql:dump --result-file ../db.sql
          fi
    
          drush -y cex
          # shellcheck disable=SC2035
          git add *
          git add .*
          git commit -am "After site install"
    
    
          # Push to remote git repository
          if [[ -n ${L3D_GIT_REMOTE} ]]; then
            git remote add origin "$L3D_GIT_REMOTE"
    
            git push -u origin master
    
            docker-compose rm --force -v
    
    function clone {
      truncateCurrentDirectory
    
      composer update
      restoreEnvFile
    }
    
    function initialSetup {
    
      echo "Lets start a new project here ..."
      echo ""
      echo "Options to start:"
    
      echo "    0   none: start with an empty container"
    
      echo "    1   LakeDrops Drupal 8 project template"
      echo "    2   Drupal's community project template"
    
      echo "    3   Custom project template"
      echo "    4   Existing git repository"
    
          read -p "Choose an option: " OPTION
          case ${OPTION} in
    
    
              1 )
                PROJECT="lakedrops/d8-project"
                create
                break
                ;;
    
              2 )
                PROJECT="drupal-composer/drupal-project:8.x-dev"
                create
                break
                ;;
    
              3 )
    
                read -p "Custom project template: " PROJECT
    
                read -p "Repository URL (optional): " REPOSITORY
                create
                break
                ;;
    
              4 )
    
                read -p "Repository URL: " REPOSITORY
                if [[ -n "${REPOSITORY}" ]]; then
    
      if [[ -n ${PROJECT} ]]; then
        create
      elif [[ -n ${REPOSITORY} ]]; then
        clone
      else
        initialSetup
      fi
    
    if [[ -d /drupal/.idea ]]; then
      /usr/local/bin/.configIdea
    fi
    
    
    jurgenhaas's avatar
    jurgenhaas committed
    else
      /usr/bin/fish
    fi