diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2013-01-15 15:21:26 +0100 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2013-01-15 15:21:26 +0100 |
commit | 65fbc8f07602ab84a1201d608bbe7193c544cf40 (patch) | |
tree | 1c8a32cc7ee95870f87780ef11e43945fe341752 /src/main | |
parent | 4d4cca74868422cd93ac111d99fa3af6e366f1af (diff) | |
download | sonar-scanner-cli-65fbc8f07602ab84a1201d608bbe7193c544cf40.tar.gz sonar-scanner-cli-65fbc8f07602ab84a1201d608bbe7193c544cf40.zip |
SONARPLUGINS-2313 readlink -f is not supported on macosx
* As a workaround we are now using a custom function to emulate the same behavior
Diffstat (limited to 'src/main')
-rwxr-xr-x | src/main/assembly/bin/sonar-runner | 66 |
1 files changed, 62 insertions, 4 deletions
diff --git a/src/main/assembly/bin/sonar-runner b/src/main/assembly/bin/sonar-runner index 21c120a..5470ee0 100755 --- a/src/main/assembly/bin/sonar-runner +++ b/src/main/assembly/bin/sonar-runner @@ -6,13 +6,70 @@ # SONAR_RUNNER_HOME - location of runner's installed home dir # SONAR_RUNNER_OPTS - parameters passed to the Java VM when running Sonar +# The following notice only apply to real_path function copied from +# https://sites.google.com/site/jdisnard/realpath +# Copyright 2010 Jon Disnard. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, are +# permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this list of +# conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, this list +# of conditions and the following disclaimer in the documentation and/or other materials +# provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY Jon Disnard ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# The views and conclusions contained in the software and documentation are those of the +# authors and should not be interpreted as representing official policies, either expressed +# or implied, of Jon Disnard. +real_path () { + OIFS=$IFS + IFS='/' + for I in $1 + do + # Resolve relative path punctuation. + if [ "$I" = "." ] || [ -z "$I" ] + then continue + elif [ "$I" = ".." ] + then FOO="${FOO%%/${FOO##*/}}" + continue + else FOO="${FOO}/${I}" + fi + + # Dereference symbolic links. + if [ -h "$FOO" ] && [ -x "/bin/ls" ] + then IFS=$OIFS + set `/bin/ls -l "$FOO"` + while shift ; + do + if [ "$1" = "->" ] + then FOO=$2 + shift $# + break + fi + done + fi + done + IFS=$OIFS + echo "$FOO" +} + if [ -z "$SONAR_RUNNER_HOME" ] ; then PRG="$0" - # try to resolve symlinks - if [ `command -v readlink >/dev/null 2>&1; echo $?` -eq 0 ] ; then - PRG=`readlink -f "$PRG"` - fi + # resolve symlinks + PRG=`real_path "$PRG"` SONAR_RUNNER_HOME=`dirname "$PRG"`/.. @@ -41,3 +98,4 @@ exec "$JAVA_CMD" \ "-Drunner.home=\${SONAR_RUNNER_HOME}" \ "-Dproject.home=\${PROJECT_HOME}" \ org.sonar.runner.Main "$@" + |