|
|
@@ -0,0 +1,101 @@ |
|
|
|
#!/bin/sh |
|
|
|
# |
|
|
|
# Sonar Runner Startup Script for Unix |
|
|
|
# |
|
|
|
# Optional ENV vars: |
|
|
|
# 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" |
|
|
|
|
|
|
|
# resolve symlinks |
|
|
|
PRG=`real_path "$PRG"` |
|
|
|
|
|
|
|
SONAR_RUNNER_HOME=`dirname "$PRG"`/.. |
|
|
|
|
|
|
|
# make it fully qualified |
|
|
|
SONAR_RUNNER_HOME=`cd "$SONAR_RUNNER_HOME" && pwd` |
|
|
|
fi |
|
|
|
|
|
|
|
# check that the SONAR_RUNNER_HOME has been correctly set |
|
|
|
if [ ! -e "$SONAR_RUNNER_HOME/lib/sonar-runner-impl-${project.version}.jar" ] ; then |
|
|
|
echo '$SONAR_RUNNER_HOME' does not point to a valid installation directory: $SONAR_RUNNER_HOME |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
|
|
|
|
JAVA_CMD="`which java`" |
|
|
|
JAVA_CLASSPATH="${SONAR_RUNNER_HOME}"/lib/sonar-runner-impl-${project.version}.jar |
|
|
|
PROJECT_HOME=`pwd` |
|
|
|
|
|
|
|
#echo "Info: Using sonar-runner at $SONAR_RUNNER_HOME" |
|
|
|
#echo "Info: Using java at $JAVA_CMD" |
|
|
|
#echo "Info: Using classpath $JAVA_CLASSPATH" |
|
|
|
#echo "Info: Using project $PROJECT_HOME" |
|
|
|
|
|
|
|
exec "$JAVA_CMD" \ |
|
|
|
$SONAR_RUNNER_OPTS \ |
|
|
|
-classpath $JAVA_CLASSPATH \ |
|
|
|
"-Drunner.home=\${SONAR_RUNNER_HOME}" \ |
|
|
|
"-Dproject.home=\${PROJECT_HOME}" \ |
|
|
|
org.sonar.runner.Main "$@" |
|
|
|
|