create-profile.sh: fix pm-list invocation to be compatible with Drush 9
[drupal-init-tools.git] / libexec / create-profile.sh
index 5fe572a..aa627b0 100755 (executable)
@@ -20,7 +20,7 @@ set -e
 
 usage() {
   cat <<EOF
-usage: drin $(basename $0 .sh) [-h|--help] <title> <machine_name>
+usage: drin $(basename "$0" .sh) [-h|--help] <title> <machine_name>
 
 Create an installation profile from the installed project.
 
@@ -47,7 +47,7 @@ do
 done
 
 
-[ "x$1" = "x" -o  "x$2" = "x" ] && { usage 1>&2; exit 1; }
+{ [ "x$1" = "x" ] || [ "x$2" = "x" ]; } && { usage 1>&2; exit 1; }
 
 PROFILE_TITLE="$1"
 PROFILE_MACHINE_NAME="$2"
@@ -81,15 +81,15 @@ pushd "$WEB_ROOT"
 # However getting them before exporting the configuration and generating the
 # profile is cleaner.
 #
-ENABLED_MODULES="$($DRUSH pm-list --type=module --status=enabled --pipe | tr '\n' ',')"
-ENABLED_THEMES="$($DRUSH pm-list --type=theme --status=enabled --pipe | tr '\n' ',')"
+ENABLED_MODULES="$($DRUSH pm-list --type=module --field=name --status=enabled --pipe | tr '\n' ',' | sed 's/,$//')"
+ENABLED_THEMES="$($DRUSH pm-list --type=theme --field=name --status=enabled --pipe | tr '\n' ',' | sed 's/,$//')"
 
 $DRUPAL_CONSOLE generate:profile \
   --profile="$PROFILE_TITLE" \
   --machine-name="$PROFILE_MACHINE_NAME" \
   --description="Drupal installation profile for $PROFILE_TITLE" \
-  --dependencies=$ENABLED_MODULES \
-  --themes=$ENABLED_THEMES \
+  --dependencies="$ENABLED_MODULES" \
+  --themes="$ENABLED_THEMES" \
   --profile-path="$PROJECT_ROOT" \
   --no-interaction
 
@@ -107,7 +107,7 @@ find "${PROJECT_ROOT}/${PROFILE_MACHINE_NAME}/config/install" -type f -exec sed
 #fdupes -f -1 "${WEB_ROOT}/core/profiles/standard/config/install/" "${PROJECT_ROOT}/${PROFILE_MACHINE_NAME}/config/install/" | xargs rm
 
 # Export the default content if the default_content module is there
-if echo $ENABLED_MODULES | grep -q default_content;
+if echo "$ENABLED_MODULES" | grep -q default_content;
 then
   $DRUSH default-content-export-references --folder="${PROJECT_ROOT}/${PROFILE_MACHINE_NAME}/content" node
 fi