X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=bin%2Fsetup.lib.sh;h=e385acfa709b4839f9a846f2746418da6fb6e800;hb=18cb89ba4473950a7a4913c49b088043dc8d195f;hp=8ee4db00add4f2bc063da82c8e1e358a47dd24ee;hpb=e0c4f234b9eab061bade28bd91a39f8912f9e2be;p=civicrm-core.git diff --git a/bin/setup.lib.sh b/bin/setup.lib.sh index 8ee4db00ad..e385acfa70 100644 --- a/bin/setup.lib.sh +++ b/bin/setup.lib.sh @@ -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 ... +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 '' +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 +}