c9-core/b9/b9

133 wiersze
2.8 KiB
Bash
Executable File

#!/bin/bash
set -e
set -o pipefail
export CLOUDSDK_PYTHON_SITEPACKAGES=1
SCRIPT_NAME=$BASH_SOURCE
if [ -h $SCRIPT_NAME ]; then SCRIPT_NAME=$(readlink $SCRIPT_NAME); fi
cd $(dirname $SCRIPT_NAME)
B9_DIR=$(pwd)
C9_DIR=$B9_DIR/..
B9=$B9_DIR/b9
source ./lib/_init.sh
MODE=$(_b9_init_mode)
NODEJS="$(_b9_init_nodejs)"
NPM="$(_b9_init_npm)"
TMPDIR=$(_b9_init_temp)
TMP=$TMPDIR
TEMP=$TMPDIR
DEBUG=""
for MODULE in ./lib/*.sh; do
[ $MODULE == "./lib/_init.sh" ] && continue
source $MODULE
done
source $C9_DIR/plugins/c9.docker/d9/_testing.sh
source $C9_DIR/plugins/c9.docker/d9/_redis.sh
source $C9_DIR/plugins/c9.docker/d9/_settings.sh
usage() {
echo "Usage: $B9 [global options ...] COMMAND [commands options...]"
echo
echo "Cloud9 build tool"
echo
echo "Global options:"
echo " --help show this help message"
echo " --debug trace bash commands"
echo " --settings=MODE, -s=MODE which settings file to use"
echo " --deploy shortcut for '-settings=deploy'; use prod database"
echo " --devel shortcut for '-settings=devel'; use devel database"
echo
echo "Commands:"
echo
echo "[Deployment]"
echo " package Package and upload version of Cloud9"
echo " deploy Deploy a Cloud9 version"
echo " static Package static assets"
echo ""
echo "[Internal]"
echo " check Run b9 tests"
echo " exec COMMAND [ARGS] Run arbitrary b9 function"
echo
echo "Environment variables:"
echo "B9_GITHUB_SSH_FILE SSH file to use for downloading from Github"
exit 1
}
for ARG in "$@"; do
case $ARG in
--help|-h)
usage
;;
--debug)
DEBUG="--debug"
B9="$B9 --debug"
shift
;;
-s=*|--settings=*)
MODE="${ARG#*=}"
shift
;;
--deploy)
MODE=deploy
shift
;;
--devel)
MODE=devel
shift
;;
--odev|--onlinedev)
MODE=onlinedev
shift
;;
*)
break
;;
esac
done
ORIGINAL_COMMAND=$1
case $ORIGINAL_COMMAND in
package)
COMMAND=b9_package
;;
deploy)
COMMAND=b9_deploy
;;
static)
COMMAND=b9_static
;;
prepare)
COMMAND=b9_prepare
;;
check)
COMMAND=b9_check
;;
exec) # for debugging only!
shift
COMMAND=$1
;;
"")
usage
;;
*)
echo "Invalid command. See $B9 --help for usage."
exit 1
;;
esac
shift
if [ "$DEBUG" ]; then
set -x
fi
$COMMAND "$@"