diff --git a/sonar.sh b/sonar.sh index 6ebca22..1c2949e 100755 --- a/sonar.sh +++ b/sonar.sh @@ -1,14 +1,30 @@ #!/bin/bash set -e +function xargs() { + local cmd=$1 + shift + for arg in "$@"; do + $cmd "$arg" + done +} + +export -f xargs + sonarOpts=(-Dsonar.branch.name="${CI_COMMIT_BRANCH}") if [[ -n "${CI_COMMIT_PULL_REQUEST}" ]]; then - sonarOpts=(-Dsonar.pullrequest.key="${CI_COMMIT_PULL_REQUEST}" -Dsonar.pullrequest.branch="${CI_COMMIT_SOURCE_BRANCH}" -Dsonar.pullrequest.base="${CI_COMMIT_TARGET_BRANCH}") + sonarOpts=(-Dsonar.pullrequest.key="${CI_COMMIT_PULL_REQUEST}" -Dsonar.pullrequest.branch="${CI_COMMIT_SOURCE_BRANCH}" -Dsonar.pullrequest.base="${CI_COMMIT_TARGET_BRANCH}") fi if [[ -f "package.json" ]]; then - version=$(awk -F'"' '/"version": ".+"/{ print $4; exit; }' package.json) - sonarOpts+=(-Dsonar.projectVersion="${version}") + version=$(awk -F'"' '/"version": ".+"/{ print $4; exit; }' package.json) + sonarOpts+=(-Dsonar.projectVersion="${version}") fi +if [[ -d "gradle" ]]; then + version=$(./gradlew --gradle-user-home /tmp/.gradle --project-cache-dir /tmp/.cachegradle properties -PbuildDir=/tmp/.buildgradle -q | awk '/^version:/ {print $2}') + sonarOpts+=(-Dsonar.projectVersion="${version}") +fi + +set -x sonar-scanner -Dsonar.working.directory=/tmp/.scannerwork -Dsonar.qualitygate.wait=true "${sonarOpts[@]}" || true