From 226c34a7bf6b7d2d60f73492bcae959aceb50935 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Wed, 12 Apr 2017 07:53:43 -0400 Subject: [PATCH] Replace realpath with something Mac compat Mac by default doesn't have realpath(1). This replaces it with an equivalent bash script, so we can reduce script replacements on Homebrew. Fixes #149 --- src/universal/bin/sbt-launch-lib.bash | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/universal/bin/sbt-launch-lib.bash b/src/universal/bin/sbt-launch-lib.bash index cb7a66a46..3e2c2b450 100755 --- a/src/universal/bin/sbt-launch-lib.bash +++ b/src/universal/bin/sbt-launch-lib.bash @@ -12,10 +12,22 @@ declare -a scalac_args declare -a sbt_commands declare java_cmd=java declare java_version -declare -r sbt_bin_dir="$(dirname "$(realpath "$0")")" -declare -r sbt_home="$(dirname "$sbt_bin_dir")" declare init_sbt_version= +declare SCRIPT=$0 +while [ -h "$SCRIPT" ] ; do + ls=$(ls -ld "$SCRIPT") + # Drop everything prior to -> + link=$(expr "$ls" : '.*-> \(.*\)$') + if expr "$link" : '/.*' > /dev/null; then + SCRIPT="$link" + else + SCRIPT=$(dirname "$SCRIPT")/"$link" + fi +done +declare -r sbt_bin_dir="$(dirname "$SCRIPT")" +declare -r sbt_home="$(dirname "$sbt_bin_dir")" + echoerr () { echo 1>&2 "$@" }