ctubbsii commented on a change in pull request #254:
URL: https://github.com/apache/fluo-uno/pull/254#discussion_r477265508
##########
File path: bin/uno
##########
@@ -17,89 +17,33 @@
# Start: Resolve Script Directory
SOURCE="${BASH_SOURCE[0]}"
-while [[ -h "$SOURCE" ]]; do # resolve $SOURCE until the file is no longer a
symlink
+# resolve $SOURCE until the file is no longer a symlink
+while [[ -h "$SOURCE" ]]; do
bin="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
- [[ $SOURCE != /* ]] && SOURCE="$bin/$SOURCE" # if $SOURCE was a relative
symlink, we need to resolve it relative to the path where the symlink file was
located
+ # if $SOURCE was a relative symlink, we need to resolve it relative to the
+ # path where the symlink file was located
+ [[ $SOURCE != /* ]] && SOURCE="$bin/$SOURCE"
done
bin="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
# Stop: Resolve Script Directory
-source "$bin"/impl/load-env.sh "$1"
-source "$UNO_HOME"/bin/impl/util.sh
+uno_cmd=$1
+shift
-case "$1" in
- ashell)
- check_dirs ACCUMULO_HOME
- "$ACCUMULO_HOME"/bin/accumulo shell -u "$ACCUMULO_USER" -p
"$ACCUMULO_PASSWORD" "${@:2}"
- ;;
- zk)
- check_dirs ZOOKEEPER_HOME
- "$ZOOKEEPER_HOME"/bin/zkCli.sh
- ;;
- env)
- "$bin"/impl/print-env.sh "${@:2}"
- ;;
- fetch)
- hash mvn 2>/dev/null || { echo >&2 "Maven must be installed & on PATH.
Aborting."; exit 1; }
- hash wget 2>/dev/null || { echo >&2 "wget must be installed & on PATH.
Aborting."; exit 1; }
- if [[ "$2" == "all" ]]; then
- "$bin"/impl/fetch.sh fluo
- else
- "$bin"/impl/fetch.sh "$2" "$3"
- fi
- ;;
- install)
- "$bin"/impl/install.sh "${@:2}"
- ;;
- kill)
- "$bin"/impl/kill.sh "${@:2}"
- ;;
- run)
- "$bin"/impl/run.sh "${@:2}"
- ;;
- setup)
- "$bin"/impl/setup.sh "${@:2}"
- ;;
- start)
- "$bin"/impl/start.sh "${@:2}"
- ;;
- stop)
- "$bin"/impl/stop.sh "${@:2}"
- ;;
- version)
- "$bin"/impl/version.sh "${@:2}"
- ;;
-
- status)
- "$bin"/impl/status.sh "${@:2}"
- ;;
-
- wipe)
- "$bin"/impl/kill.sh
- if [[ -d "$INSTALL" ]]; then
- echo "removing $INSTALL"
- rm -rf "$INSTALL"
- fi
+# shellcheck source=bin/impl/load-env.sh
+source "$bin"/impl/load-env.sh "$uno_cmd"
+# shellcheck source=bin/impl/commands.sh
+source "$UNO_HOME"/bin/impl/commands.sh
+
+case "$uno_cmd" in
+ ashell|env|fetch|install|kill|run|setup|start|status|stop|version|wipe|zk)
+ "uno_${uno_cmd}_main" "$@"
Review comment:
I like this, and thought about doing something like this, but didn't
look into it to figure out the syntax. One thing I wasn't sure about was
compatibility with Bash 3. I tried to avoid any changes I thought might not
work on Bash 3. Since I don't have a macOS machine to test on, I chose to avoid
this one because of uncertainty of whether it would work there.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]