diff options
Diffstat (limited to 'src/main/assembly/bin/sonar-scanner')
-rwxr-xr-x | src/main/assembly/bin/sonar-scanner | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/src/main/assembly/bin/sonar-scanner b/src/main/assembly/bin/sonar-scanner new file mode 100755 index 0000000..1a25d3f --- /dev/null +++ b/src/main/assembly/bin/sonar-scanner @@ -0,0 +1,110 @@ +#!/bin/sh +# +# SonarQube Scanner Startup Script for Unix +# +# Optional ENV vars: +# SONAR_SCANNER_HOME - location of runner's installed home dir +# SONAR_SCANNER_OPTS - parameters passed to the Java VM when running SonarQube Scanner + +# 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_SCANNER_HOME" ] ; then + PRG="$0" + + if [ -h "$PRG" ] ; then + # resolve symlinks + PRG=`real_path "$PRG"` + fi + + SONAR_SCANNER_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + SONAR_SCANNER_HOME=`cd "$SONAR_SCANNER_HOME" && pwd` +fi + +# check that the SONAR_SCANNER_HOME has been correctly set +if [ ! -f "$SONAR_SCANNER_HOME/lib/sonar-scanner-cli-${project.version}.jar" ] ; then + echo '$SONAR_SCANNER_HOME' does not point to a valid installation directory: $SONAR_SCANNER_HOME + exit 1 +fi + +if [ -n "$JAVA_HOME" ] +then + JAVA_CMD="$JAVA_HOME/bin/java" +else + JAVA_CMD="`which java`" +fi + +JAR_FILE="${SONAR_SCANNER_HOME}"/lib/sonar-scanner-cli-${project.version}.jar +PROJECT_HOME=`pwd` + +#echo "Info: Using sonar-scanner at $SONAR_SCANNER_HOME" +#echo "Info: Using java at $JAVA_CMD" +#echo "Info: Using classpath $JAR_FILE" +#echo "Info: Using project $PROJECT_HOME" + +exec "$JAVA_CMD" \ + -Djava.awt.headless=true \ + $SONAR_SCANNER_OPTS \ + -classpath $JAR_FILE \ + "-Dscanner.home=\${SONAR_SCANNER_HOME}" \ + "-Dproject.home=\${PROJECT_HOME}" \ + org.sonarsource.scanner.cli.Main "$@" + |