diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2015-11-09 18:11:08 +0100 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2015-11-09 18:11:08 +0100 |
commit | 5a8d95da69a698a82faa01e7b396e33de61d4975 (patch) | |
tree | b56e26f30a5ae5c20189d1f02224c9ddfb9e0711 /src/main/assembly/bin | |
parent | 7b31d816877f1ce5126079cc642b915c7d4dbc88 (diff) | |
download | sonar-scanner-cli-5a8d95da69a698a82faa01e7b396e33de61d4975.tar.gz sonar-scanner-cli-5a8d95da69a698a82faa01e7b396e33de61d4975.zip |
Extract SonarQube Scanner as a separate project
Diffstat (limited to 'src/main/assembly/bin')
-rwxr-xr-x | src/main/assembly/bin/sonar-runner | 110 | ||||
-rw-r--r-- | src/main/assembly/bin/sonar-runner.bat | 97 |
2 files changed, 207 insertions, 0 deletions
diff --git a/src/main/assembly/bin/sonar-runner b/src/main/assembly/bin/sonar-runner new file mode 100755 index 0000000..eea044a --- /dev/null +++ b/src/main/assembly/bin/sonar-runner @@ -0,0 +1,110 @@ +#!/bin/sh +# +# SonarQube 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" + + if [ -h "$PRG" ] ; then + # resolve symlinks + PRG=`real_path "$PRG"` + fi + + 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 [ ! -f "$SONAR_RUNNER_HOME/lib/sonar-runner-dist-${project.version}.jar" ] ; then + echo '$SONAR_RUNNER_HOME' does not point to a valid installation directory: $SONAR_RUNNER_HOME + exit 1 +fi + +if [ -n "$JAVA_HOME" ] +then + JAVA_CMD="$JAVA_HOME/bin/java" +else + JAVA_CMD="`which java`" +fi + +JAR_FILE="${SONAR_RUNNER_HOME}"/lib/sonar-runner-dist-${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 $JAR_FILE" +#echo "Info: Using project $PROJECT_HOME" + +exec "$JAVA_CMD" \ + -Djava.awt.headless=true \ + $SONAR_RUNNER_OPTS \ + -classpath $JAR_FILE \ + "-Drunner.home=\${SONAR_RUNNER_HOME}" \ + "-Dproject.home=\${PROJECT_HOME}" \ + org.sonar.runner.cli.Main "$@" + diff --git a/src/main/assembly/bin/sonar-runner.bat b/src/main/assembly/bin/sonar-runner.bat new file mode 100644 index 0000000..67fa742 --- /dev/null +++ b/src/main/assembly/bin/sonar-runner.bat @@ -0,0 +1,97 @@ +@REM SonarQube Runner Startup Script for Windows +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars: +@REM SONAR_RUNNER_HOME - location of runner's installed home dir +@REM SONAR_RUNNER_OPTS - parameters passed to the Java VM when running Sonar + +@echo off + +set ERROR_CODE=0 + +@REM set local scope for the variables with windows NT shell +@setlocal + +@REM ==== START VALIDATION ==== +@REM *** JAVA EXEC VALIDATION *** +if not "%JAVA_HOME%" == "" goto foundJavaHome + +for %%i in (java.exe) do set JAVA_EXEC=%%~$PATH:i + +if not "%JAVA_EXEC%" == "" ( + set JAVA_EXEC="%JAVA_EXEC%" + goto OkJava +) + +if not "%JAVA_EXEC%" == "" goto OkJava + +echo. +echo ERROR: JAVA_HOME not found in your environment, and no Java +echo executable present in the PATH. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation, or add "java.exe" to the PATH +echo. +goto error + +:foundJavaHome +if EXIST "%JAVA_HOME%\bin\java.exe" goto foundJavaExeFromJavaHome + +echo. +echo ERROR: JAVA_HOME exists but does not point to a valid Java home +echo folder. No "\bin\java.exe" file can be found there. +echo. +goto error + +:foundJavaExeFromJavaHome +set JAVA_EXEC="%JAVA_HOME%\bin\java.exe" + +@REM *** SONAR RUNNER HOME VALIDATION *** +:OkJava +if NOT "%SONAR_RUNNER_HOME%"=="" goto cleanSonarRunnerHome +set SONAR_RUNNER_HOME=%~dp0.. +goto run + +:cleanSonarRunnerHome +@REM If the property has a trailing backslash, remove it +if "%SONAR_RUNNER_HOME:~-1%"=="\" set SONAR_RUNNER_HOME=%SONAR_RUNNER_HOME:~0,-1% + +@REM Check if the provided SONAR_RUNNER_HOME is a valid install dir +IF EXIST "%SONAR_RUNNER_HOME%\lib\sonar-runner-dist-${project.version}.jar" goto run + +echo. +echo ERROR: SONAR_RUNNER_HOME exists but does not point to a valid install +echo directory: %SONAR_RUNNER_HOME% +echo. +goto error + + + +@REM ==== START RUN ==== +:run +echo %SONAR_RUNNER_HOME% + +set PROJECT_HOME=%CD% + +%JAVA_EXEC% -Djava.awt.headless=true %SONAR_RUNNER_OPTS% -cp "%SONAR_RUNNER_HOME%\lib\sonar-runner-dist-${project.version}.jar" "-Drunner.home=%SONAR_RUNNER_HOME%" "-Dproject.home=%PROJECT_HOME%" org.sonar.runner.cli.Main %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +@REM ==== END EXECUTION ==== + +:end +@REM set local scope for the variables with windows NT shell +@endlocal & set ERROR_CODE=%ERROR_CODE% + +@REM see http://code-bear.com/bearlog/2007/06/01/getting-the-exit-code-from-a-batch-file-that-is-run-from-a-python-program/ +goto exit + +:returncode +exit /B %1 + +:exit +call :returncode %ERROR_CODE% |