better handling of dir tests
authorChris Koeritz <fred@gruntose.com>
Tue, 20 Mar 2018 21:31:38 +0000 (17:31 -0400)
committerChris Koeritz <fred@gruntose.com>
Tue, 20 Mar 2018 21:31:38 +0000 (17:31 -0400)
this adds handling of bad returns from the find_apps_folder and test_apps_folder methods.  previously we were relying on them to bail out with an exit, but cannot do that when using them within shell aliases in same shell.  we need them to just return their status, and now any place using them checks the status.  where appropriate this causes that outer shell to exit, but now the switchto macro will not bail out if the user chooses quit.

scripts/site_avenger/avcoreup.sh
scripts/site_avenger/powerup.sh
scripts/site_avenger/shared_site_mgr.sh
scripts/site_avenger/sitepush.sh
scripts/site_avenger/siteup.sh
scripts/site_avenger/standup.sh
scripts/site_avenger/teardown.sh

index 2ae511cbb8eb50148b9efd2841ee0bddf088463e..33c3daafe142c01b70412268dd0ef332e8392e4a 100644 (file)
@@ -18,7 +18,7 @@ source "$WORKDIR/shared_site_mgr.sh"
 
 sep
 
-check_application_dir "$BASE_APPLICATION_PATH"
+check_apps_root "$BASE_APPLICATION_PATH"
 
 # find proper webroot where the site will be initialized.
 if [ -z "$app_dirname" ]; then
@@ -27,6 +27,7 @@ if [ -z "$app_dirname" ]; then
 else
   test_app_folder "$BASE_APPLICATION_PATH" "$app_dirname"
 fi
+test_or_die "finding and testing app folder"
 
 # where we expect to find our checkout folder underneath.
 full_app_dir="$BASE_APPLICATION_PATH/$app_dirname"
index 46070f60c9e3a973e2803e8b4826f3807080edc5..eccb0b6aefd33f6ace6af024be3390c88fcc1843 100644 (file)
@@ -59,7 +59,7 @@ source "$WORKDIR/shared_site_mgr.sh"
 
 sep
 
-check_application_dir "$BASE_APPLICATION_PATH"
+check_apps_root "$BASE_APPLICATION_PATH"
 
 # find proper webroot where the site will be initialized.
 if [ -z "$app_dirname" ]; then
@@ -68,6 +68,7 @@ if [ -z "$app_dirname" ]; then
 else
   test_app_folder "$BASE_APPLICATION_PATH" "$app_dirname"
 fi
+test_or_die "finding and testing app folder"
 
 # where we expect to find our checkout folder underneath.
 full_app_dir="$BASE_APPLICATION_PATH/$app_dirname"
index 6f731e6937a3158e83e4b994306ea985e366a2cb..f824776573539e0cc446aa4d506bb355aae8283b 100644 (file)
@@ -28,7 +28,7 @@ test_or_die "loading site management configuration from: $SITE_MANAGEMENT_CONFIG
 export NO_CHECKIN_VENDOR=true
 
 # tests that the main storage folder for apps exists.
-function check_application_dir()
+function check_apps_root()
 {
   local appdir="$1"; shift
   if [ ! -d "$appdir" ]; then
@@ -63,6 +63,7 @@ the standard pattern for cakephp projects."
   source "$SITE_MANAGEMENT_CONFIG_FILE"
   test_or_die "loading site management configuration from: $SITE_MANAGEMENT_CONFIG_FILE"
 
+  return 0
 }
 
 # this function will seek out top-level directories in the target directory passed in.
@@ -100,14 +101,14 @@ function find_app_folder()
     options=( $(find "$appsdir" -mindepth 1 -maxdepth 1 -type d -exec basename {} ';') "Quit")
     select app_dirname in "${options[@]}"; do
       case $app_dirname in
-        "Quit") echo ; echo "Quitting from the script."; exit 1; ;;
+        "Quit") echo ; echo "Quitting from the script."; return 1; ;;
         *) echo ; echo "You picked folder '$app_dirname'" ; break; ;;
       esac
     done
     if [ -z "$app_dirname" ]; then
       echo "The folder was not provided.  This script needs a directory name"
       echo "within which to initialize the site."
-      exit 1
+      return 1
     fi
     PS3="$holdps3"
   fi
@@ -115,9 +116,11 @@ function find_app_folder()
   test_or_die "Testing application folder: $app_dirname"
 
   echo "Application folder is: $app_dirname"
+  return 0
 }
 
-# ensures that the app directory name is valid.
+# ensures that the app directory name is valid and then loads the config
+# for the app (either via a specific file or using the defaults).
 function test_app_folder()
 {
   local appsdir="$1"; shift
@@ -388,7 +391,7 @@ function switch_to()
   # check for parameters.
   app_dirname="$1"; shift
 
-  check_application_dir "$BASE_APPLICATION_PATH"
+  check_apps_root "$BASE_APPLICATION_PATH"
 
   # find proper webroot where the site will be initialized.
   if [ -z "$app_dirname" ]; then
@@ -397,6 +400,10 @@ function switch_to()
   else
     test_app_folder "$BASE_APPLICATION_PATH" "$app_dirname"
   fi
+  if [ $? -ne 0 ]; then
+    echo "Could not locate that application directory"
+    return 1
+  fi
 
   # where we expect to find our checkout folder underneath.
   full_app_dir="$BASE_APPLICATION_PATH/$app_dirname"
index 1336a891917b6871f3bb6f3150311203dcf597af..52e2e13d6b701455695ec0f970f356ecc0ea59e2 100644 (file)
@@ -19,7 +19,7 @@ source "$WORKDIR/shared_site_mgr.sh"
 
 sep
 
-check_application_dir "$BASE_APPLICATION_PATH"
+check_apps_root "$BASE_APPLICATION_PATH"
 
 # find proper webroot where the site will be initialized.
 if [ -z "$app_dirname" ]; then
@@ -28,6 +28,7 @@ if [ -z "$app_dirname" ]; then
 else
   test_app_folder "$BASE_APPLICATION_PATH" "$app_dirname"
 fi
+test_or_die "finding and testing app folder"
 
 # where we expect to find our checkout folder underneath.
 full_app_dir="$BASE_APPLICATION_PATH/$app_dirname"
index 282d0cdc060f93a7d25746a89f32f43b12c078c6..e2a70593334ebffa4a30416fa5f377eedab1e567 100644 (file)
@@ -19,7 +19,7 @@ source "$WORKDIR/shared_site_mgr.sh"
 
 sep
 
-check_application_dir "$BASE_APPLICATION_PATH"
+check_apps_root "$BASE_APPLICATION_PATH"
 
 # find proper webroot where the site will be initialized.
 if [ -z "$app_dirname" ]; then
@@ -28,6 +28,7 @@ if [ -z "$app_dirname" ]; then
 else
   test_app_folder "$BASE_APPLICATION_PATH" "$app_dirname"
 fi
+test_or_die "finding and testing app folder"
 
 # where we expect to find our checkout folder underneath.
 full_app_dir="$BASE_APPLICATION_PATH/$app_dirname"
index c4a6cb2606b98537e1dfcc8a2216a28991a173ba..3ba100f36a7471bf39cc9bec7f7da9550c489387 100644 (file)
@@ -55,7 +55,7 @@ source "$WORKDIR/shared_site_mgr.sh"
 
 sep
 
-check_application_dir "$BASE_APPLICATION_PATH"
+check_apps_root "$BASE_APPLICATION_PATH"
 
 # find proper webroot where the site will be initialized.
 if [ -z "$app_dirname" ]; then
@@ -64,6 +64,7 @@ if [ -z "$app_dirname" ]; then
 else
   test_app_folder "$BASE_APPLICATION_PATH" "$app_dirname"
 fi
+test_or_die "finding and testing app folder"
 
 #echo "!! domain being added is: $DOMAIN_NAME"
 
index 5bfcbd4699b9a01696af8f4a85ebd8e6b9bb2252..91de942005a0ffaec25ae9e863ece47a97924d7d 100644 (file)
@@ -47,7 +47,7 @@ source "$WORKDIR/shared_site_mgr.sh"
 
 sep
 
-check_application_dir "$BASE_APPLICATION_PATH"
+check_apps_root "$BASE_APPLICATION_PATH"
 
 # find proper webroot where the site will be initialized.
 if [ -z "$app_dirname" ]; then
@@ -56,6 +56,7 @@ if [ -z "$app_dirname" ]; then
 else
   test_app_folder "$BASE_APPLICATION_PATH" "$app_dirname"
 fi
+test_or_die "finding and testing app folder"
 
 sep