diff options
author | Paul Phillips <paulp@improving.org> | 2012-05-13 01:11:39 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-05-13 01:14:11 -0700 |
commit | 4cd0253d0d461d01672334d240bc5249027f536b (patch) | |
tree | ff51265912e2bf8aeb267d66469dee7bec4d3ef8 | |
parent | c5200ba0eac4058bb535cfa50a8a2a05691542e8 (diff) | |
download | scala-4cd0253d0d461d01672334d240bc5249027f536b.tar.gz scala-4cd0253d0d461d01672334d240bc5249027f536b.tar.bz2 scala-4cd0253d0d461d01672334d240bc5249027f536b.zip |
Tweak to the runner to deal with the big bad world.
Relative symlinks which start with .. are then run with an
absolute path. It's robustness city.
-rw-r--r-- | src/compiler/scala/tools/ant/templates/tool-unix.tmpl | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/ant/templates/tool-unix.tmpl b/src/compiler/scala/tools/ant/templates/tool-unix.tmpl index 599936f6f8..85bb5f2056 100644 --- a/src/compiler/scala/tools/ant/templates/tool-unix.tmpl +++ b/src/compiler/scala/tools/ant/templates/tool-unix.tmpl @@ -9,10 +9,19 @@ ############################################################################## findScalaHome () { - # see #2092 + # see SI-2092 local SOURCE="${BASH_SOURCE[0]}" while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done - ( cd -P "$( dirname "$SOURCE" )"/.. && pwd ) + local bindir="$( dirname "$SOURCE" )" + if [[ -d "$bindir"/.. ]]; then + ( cd -P "$bindir"/.. && pwd ) + else + # See SI-5792 + local dir=$(dirname "${BASH_SOURCE[0]}") + local link=$(dirname "$(readlink "${BASH_SOURCE[0]}")") + local path="$dir/$link/.." + ( cd "$path" && pwd ) + fi } execCommand () { [[ -n $SCALA_RUNNER_DEBUG ]] && echo "" && for arg in "$@@"; do echo "$arg"; done && echo ""; |