-#!/bin/bash
+#!/bin/bash -l
# SPDX-License-Identifier: EPL-1.0
##############################################################################
# Copyright (c) 2017 The Linux Foundation and others.
# DO NOT enable -u because $MAVEN_PARAMS and $MAVEN_OPTIONS could be unbound.
# Ensure we fail the job if any steps fail.
-set -e -o pipefail
+set -xe -o pipefail
set +u
export MAVEN_OPTS
+declare -a params
+params+=("--global-settings $GLOBAL_SETTINGS_FILE")
+params+=("--settings $SETTINGS_FILE")
+
# Disable SC2086 because we want to allow word splitting for $MAVEN_* parameters.
# shellcheck disable=SC2086
$MVN clean install \
-e -Dsonar \
- --global-settings "$GLOBAL_SETTINGS_FILE" \
- --settings "$SETTINGS_FILE" \
+ ${params[*]} \
$MAVEN_OPTIONS $MAVEN_PARAMS
+if [ "$SONAR_HOST_URL" = "https://sonarcloud.io" ]; then
+ params+=("-Dsonar.projectKey=$PROJECT_KEY")
+ params+=("-Dsonar.organization=$PROJECT_ORGANIZATION")
+ params+=("-Dsonar.login=$API_TOKEN")
+fi
+
# Disable SC2086 because we want to allow word splitting for $MAVEN_* parameters.
# shellcheck disable=SC2086
-$MVN $SONAR_MAVEN_GOAL \
+"$MVN" $SONAR_MAVEN_GOAL \
-e -Dsonar -Dsonar.host.url="$SONAR_HOST_URL" \
- --global-settings "$GLOBAL_SETTINGS_FILE" \
- --settings "$SETTINGS_FILE" \
+ ${params[*]} \
$MAVEN_OPTIONS $MAVEN_PARAMS