bootstrap.sh: allow explicit overwriting the current installation profile
authorAntonio Ospite <ao2@ao2.it>
Thu, 26 Oct 2017 13:50:21 +0000 (15:50 +0200)
committerAntonio Ospite <ao2@ao2.it>
Thu, 26 Oct 2017 13:50:21 +0000 (15:50 +0200)
Also, if the user attempts to install a profile which is already there,
now the scripts exits instead of just printing a message and carrying
on.

The previous lazy behavior could result in some confusion if the user
didn't see the message, because any different settings in the specified
profile would not be picked up, as the previous profile already in
web/profiles/ would be used.

libexec/bootstrap.sh

index 81255d3..f48e303 100755 (executable)
@@ -25,8 +25,9 @@ usage: drin $(basename $0 .sh) [--devel|-h|--help]
 Bootstrap a Drupal project, using settings from a 'bootstrap.conf' file.
 
 Options:
 Bootstrap a Drupal project, using settings from a 'bootstrap.conf' file.
 
 Options:
-  --devel             install drupal/devel and use a settings.local.php file
-  -h, --help          display this usage message and exit
+  --devel              install drupal/devel and use a settings.local.php file
+  --overwrite-profile  allow overwriting the current installation profile
+  -h, --help           display this usage message and exit
 
 EOF
 }
 
 EOF
 }
@@ -41,6 +42,9 @@ do
     --devel)
       DEVEL_MODE="true"
       ;;
     --devel)
       DEVEL_MODE="true"
       ;;
+    --overwrite-profile)
+      OVERWRITE_PROFILE="true"
+      ;;
     -*)
       echo "Error: Unknown option '${1}'" 1>&2
       ;;
     -*)
       echo "Error: Unknown option '${1}'" 1>&2
       ;;
@@ -92,9 +96,11 @@ DRUPAL_CONSOLE="${PWD}/vendor/bin/drupal"
 # https://github.com/drupal-composer/drupal-project/issues/249
 if ! echo $INSTALLATION_PROFILE | egrep -q "^(minimal|standard)$";
 then
 # https://github.com/drupal-composer/drupal-project/issues/249
 if ! echo $INSTALLATION_PROFILE | egrep -q "^(minimal|standard)$";
 then
-  if [ -d $SITE_LOCAL_PATH/profiles/$INSTALLATION_PROFILE ];
+  if [ -d $SITE_LOCAL_PATH/profiles/$INSTALLATION_PROFILE -a "$OVERWRITE_PROFILE" != "true" ];
   then
   then
-    echo "Installation profile '$INSTALLATION_PROFILE' already there."
+    echo "Installation profile '$INSTALLATION_PROFILE' already there." 1>&2
+    echo "Use --overwrite-profile to copy over it." 1>&2
+    exit 1
   else
     cp -a $INSTALLATION_PROFILE $SITE_LOCAL_PATH/profiles
   fi
   else
     cp -a $INSTALLATION_PROFILE $SITE_LOCAL_PATH/profiles
   fi