|
|
@@ -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 "$@" |
|
|
|
|