aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/assembly/bin/sonar-runner
blob: a116ea443448afac200cfa6277be19a71d4a9820 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/sh
#
# SonarQube Runner Startup Script for Unix
#
# Optional ENV vars:
#   SONAR_RUNNER_OPTS - Parameters passed to the Java VM when running Sonar
#   JAVA_HOME - Location of Java's installation

real_path () {
  target=$1

  (
  while true; do
    cd "$(dirname "$target")"
    target=$(basename "$target")
    link=$(readlink "$target")
    test "$link" || break
    target=$link
  done

  echo "$(pwd -P)/$target"
  )
}

echo WARN: 'sonar-runner' script is deprecated. Please use 'sonar-scanner' instead.

script_path="$0"

if [ -h "$script_path" ] ; then
  # resolve recursively symlinks
  script_path=$(real_path "$script_path")
fi

sonar_runner_home=$(dirname "$script_path")/..

# make it fully qualified
sonar_runner_home=$(cd "$sonar_runner_home" && pwd)

jar_file=$sonar_runner_home/lib/sonar-scanner-cli-${project.version}.jar

# check that sonar_runner_home has been correctly set
if [ ! -f "$jar_file" ] ; then
  echo "File does not exist: $jar_file"
  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

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

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_SCANNER_OPTS \
  -classpath "$jar_file" \
  -Dscanner.home="$sonar_runner_home" \
  -Dproject.home="$project_home" \
  org.sonarsource.scanner.cli.Main "$@"