1+ #! /usr/bin/env bash
2+
3+ # Run Sonar based on conditions
4+
5+ MAIN_DEV_BRANCH=" develop"
6+
7+ BRANCH_SONAR_PROPERTY=" sonar.branch.name"
8+ BRANCH_SONAR_TARGET_PROPERTY=" sonar.branch.target"
9+
10+ PR_SONAR_BRANCH_PROPERTY=" sonar.pullrequest.branch"
11+ PR_KEY_PROPERTY=" sonar.pullrequest.key"
12+ PR_SONAR_BASE_PROPERTY=" sonar.pullrequest.base"
13+ PR_SONAR_TOKEN_PROPERTY=" sonar.pullrequest.github.token.secured"
14+
15+ # Add property to file
16+ function add_sonar_property {
17+ echo " $1 =$2 " >> sonar-project.properties
18+ }
19+
20+
21+ if [ " $TRAVIS_PULL_REQUEST " == " false" ]; then
22+ BRANCH=$TRAVIS_BRANCH ;
23+ PR_BRANCH=" "
24+ echo " BRANCH=$BRANCH "
25+ else
26+ BRANCH=$TRAVIS_PULL_REQUEST_BRANCH
27+ PR_BRANCH=$TRAVIS_BRANCH
28+ echo " TRAVIS_BRANCH=$TRAVIS_BRANCH , PR=$TRAVIS_PULL_REQUEST , BRANCH=$BRANCH "
29+
30+ fi
31+
32+
33+ # Are we running on develop branch ?
34+ echo " Check if we running from develop or on branch"
35+ if [ " ${TRAVIS_REPO_SLUG} " = " ${UTPLSQL_REPO} " ] && [[ ! " ${BRANCH} " =~ ^(release/v[0-9]+\. [0-9]+\. [0-9]+.* | " ${MAIN_DEV_BRANCH} " )$ ]]; then
36+
37+ echo " " >> sonar-project.properties
38+ if [ " $TRAVIS_PULL_REQUEST " == " false" ]; then
39+ echo " Updating sonar properties to include branch ${BRANCH} "
40+ add_sonar_property " ${BRANCH_SONAR_PROPERTY} " " ${BRANCH} "
41+ add_sonar_property " ${BRANCH_SONAR_TARGET_PROPERTY} " " ${MAIN_DEV_BRANCH} "
42+ else
43+ echo " Updating sonar properties to include pull request ${BRANCH} "
44+ add_sonar_property " ${PR_SONAR_TOKEN_PROPERTY} " " ${GITHUB_TRAVISCI_TOKEN} "
45+ add_sonar_property " ${PR_SONAR_BRANCH_PROPERTY} " " ${BRANCH} "
46+ add_sonar_property " ${PR_KEY_PROPERTY} " " ${PR} "
47+ add_sonar_property " ${PR_SONAR_BASE_PROPERTY} " " ${PR_BRANCH} "
48+ fi
49+ else
50+ echo " No need to update sonar we building on release or develop"
51+ fi
52+
53+ # Execute Sonar scanner
54+ sonar-scanner
0 commit comments