Merge pull request #14152 from seamuslee001/dev_translation_26
[civicrm-core.git] / bin / setup.lib.sh
index 8ee4db00add4f2bc063da82c8e1e358a47dd24ee..e385acfa709b4839f9a846f2746418da6fb6e800 100644 (file)
@@ -31,4 +31,44 @@ function mysqladmin_cmd() {
 function mysqldump_cmd() {
   _mysql_vars
   echo "mysqldump -u$DBUSER $PASSWDSECTION $HOSTSECTION $PORTSECTION $DBARGS"
-}
\ No newline at end of file
+}
+
+## Pick the first available command. If none, then abort.
+## example: COMPOSER=$(pickcmd composer composer.phar)
+function pickcmd() {
+  for name in "$@" ; do
+    if which $name >> /dev/null ; then
+      echo $name
+      return
+    fi
+  done
+  echo "ERROR: Failed to find any of these commands: $@"
+  exit 1
+}
+
+## usage: has_commands <cmd1> <cmd2> ...
+function has_commands() {
+  for cmd in "$@" ; do
+    if ! which $cmd >> /dev/null ; then
+      return 1
+    fi
+  done
+  return 0
+}
+
+## Execute some PHP within CMS context
+## usage: cms_eval '<php-code>'
+function cms_eval() {
+  case "$GENCODE_CMS" in
+    Drupal*)
+      drush ev "$1"
+      ;;
+    WordPress*)
+      wp eval "$1"
+      ;;
+    *)
+      echo "Cannot boot (GENCODE_CMS=$GENCODE_CMS)" > /dev/stderr
+      exit 1
+      ;;
+  esac
+}