diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2016-04-11 14:27:32 +0200 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2016-04-11 16:08:38 +0200 |
commit | ea7aefed7960719825584238ce311d4db71d0cae (patch) | |
tree | e83e33d5e32b4a9b62491de4b8cf578bff602f12 /src/main/assembly/bin | |
parent | e87f05efbc57e816503f74811bde44859c8f009b (diff) | |
download | sonar-scanner-cli-ea7aefed7960719825584238ce311d4db71d0cae.tar.gz sonar-scanner-cli-ea7aefed7960719825584238ce311d4db71d0cae.zip |
SQSCANNER-7 SQSCANNER-6 Deprecate sonar-runner and SONAR_RUNNER_OPTS
And replace by sonar-scanner and SONAR_SCANNER_OPTS
Diffstat (limited to 'src/main/assembly/bin')
-rwxr-xr-x | src/main/assembly/bin/sonar-runner | 14 | ||||
-rw-r--r-- | src/main/assembly/bin/sonar-runner.bat | 17 | ||||
-rwxr-xr-x | src/main/assembly/bin/sonar-scanner | 110 | ||||
-rw-r--r-- | src/main/assembly/bin/sonar-scanner.bat | 97 |
4 files changed, 232 insertions, 6 deletions
diff --git a/src/main/assembly/bin/sonar-runner b/src/main/assembly/bin/sonar-runner index 3d2b092..556e712 100755 --- a/src/main/assembly/bin/sonar-runner +++ b/src/main/assembly/bin/sonar-runner @@ -65,6 +65,8 @@ real_path () { echo "$FOO" } +echo WARN: 'sonar-runner' script is deprecated. Please use 'sonar-scanner' instead. + if [ -z "$SONAR_RUNNER_HOME" ] ; then PRG="$0" @@ -92,6 +94,14 @@ else JAVA_CMD="`which java`" fi +if [ -n "$SONAR_RUNNER_OPTS" ] ; +then + echo WARN: '$SONAR_RUNNER_OPTS' is deprecated. Please use '$SONAR_SCANNER_OPTS' instead. + if [ -z "$SONAR_SCANNER_OPTS" ] ; then + SONAR_SCANNER_OPTS=$SONAR_RUNNER_OPTS + fi +fi + JAR_FILE="${SONAR_RUNNER_HOME}"/lib/sonar-scanner-cli-${project.version}.jar PROJECT_HOME=`pwd` @@ -102,9 +112,9 @@ PROJECT_HOME=`pwd` exec "$JAVA_CMD" \ -Djava.awt.headless=true \ - $SONAR_RUNNER_OPTS \ + $SONAR_SCANNER_OPTS \ -classpath $JAR_FILE \ - "-Drunner.home=\${SONAR_RUNNER_HOME}" \ + "-Dscanner.home=\${SONAR_RUNNER_HOME}" \ "-Dproject.home=\${PROJECT_HOME}" \ org.sonarsource.scanner.cli.Main "$@" diff --git a/src/main/assembly/bin/sonar-runner.bat b/src/main/assembly/bin/sonar-runner.bat index 32b3e83..b004a10 100644 --- a/src/main/assembly/bin/sonar-runner.bat +++ b/src/main/assembly/bin/sonar-runner.bat @@ -14,6 +14,8 @@ set ERROR_CODE=0 @REM set local scope for the variables with windows NT shell @setlocal +echo WARN: sonar-runner.bat script is deprecated. Please use sonar-scanner.bat instead. + @REM ==== START VALIDATION ==== @REM *** JAVA EXEC VALIDATION *** if not "%JAVA_HOME%" == "" goto foundJavaHome @@ -51,14 +53,14 @@ set JAVA_EXEC="%JAVA_HOME%\bin\java.exe" :OkJava if NOT "%SONAR_RUNNER_HOME%"=="" goto cleanSonarRunnerHome set SONAR_RUNNER_HOME=%~dp0.. -goto run +goto sonarRunnerOpts :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-scanner-cli-${project.version}.jar" goto run +IF EXIST "%SONAR_RUNNER_HOME%\lib\sonar-scanner-cli-${project.version}.jar" goto sonarRunnerOpts echo. echo ERROR: SONAR_RUNNER_HOME exists but does not point to a valid install @@ -66,7 +68,14 @@ echo directory: %SONAR_RUNNER_HOME% echo. goto error - +@REM ==== HANDLE DEPRECATED SONAR_RUNNER_OPTS ==== +:sonarRunnerOpts +if "%SONAR_RUNNER_OPTS%" == "" ( + goto run +) else ( + echo WARN: SONAR_RUNNER_OPTS is deprecated. Please use SONAR_SCANNER_OPTS instead. + if not "%SONAR_SCANNER_OPTS%" == "" (set SONAR_SCANNER_OPTS=%SONAR_RUNNER_OPTS%) +) @REM ==== START RUN ==== :run @@ -74,7 +83,7 @@ echo %SONAR_RUNNER_HOME% set PROJECT_HOME=%CD% -%JAVA_EXEC% -Djava.awt.headless=true %SONAR_RUNNER_OPTS% -cp "%SONAR_RUNNER_HOME%\lib\sonar-scanner-cli-${project.version}.jar" "-Drunner.home=%SONAR_RUNNER_HOME%" "-Dproject.home=%PROJECT_HOME%" org.sonarsource.scanner.cli.Main %* +%JAVA_EXEC% -Djava.awt.headless=true %SONAR_SCANNER_OPTS% -cp "%SONAR_RUNNER_HOME%\lib\sonar-scanner-cli-${project.version}.jar" "-Dscanner.home=%SONAR_RUNNER_HOME%" "-Dproject.home=%PROJECT_HOME%" org.sonarsource.scanner.cli.Main %* if ERRORLEVEL 1 goto error goto end 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 "$@" + diff --git a/src/main/assembly/bin/sonar-scanner.bat b/src/main/assembly/bin/sonar-scanner.bat new file mode 100644 index 0000000..55ae38a --- /dev/null +++ b/src/main/assembly/bin/sonar-scanner.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_SCANNER_HOME - location of runner's installed home dir +@REM SONAR_SCANNER_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 SCANNER HOME VALIDATION *** +:OkJava +if NOT "%SONAR_SCANNER_HOME%"=="" goto cleanSQScannerHome +set SONAR_SCANNER_HOME=%~dp0.. +goto run + +:cleanSQScannerHome +@REM If the property has a trailing backslash, remove it +if "%SONAR_SCANNER_HOME:~-1%"=="\" set SONAR_SCANNER_HOME=%SONAR_SCANNER_HOME:~0,-1% + +@REM Check if the provided SONAR_SCANNER_HOME is a valid install dir +IF EXIST "%SONAR_SCANNER_HOME%\lib\sonar-scanner-cli-${project.version}.jar" goto run + +echo. +echo ERROR: SONAR_SCANNER_HOME exists but does not point to a valid install +echo directory: %SONAR_SCANNER_HOME% +echo. +goto error + + + +@REM ==== START RUN ==== +:run +echo %SONAR_SCANNER_HOME% + +set PROJECT_HOME=%CD% + +%JAVA_EXEC% -Djava.awt.headless=true %SONAR_SCANNER_OPTS% -cp "%SONAR_SCANNER_HOME%\lib\sonar-scanner-cli-${project.version}.jar" "-Dscanner.home=%SONAR_SCANNER_HOME%" "-Dproject.home=%PROJECT_HOME%" org.sonarsource.scanner.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% |