-#!/bin/bash
+#!/bin/bash -l
# SPDX-License-Identifier: EPL-1.0
##############################################################################
# Copyright (c) 2017 The Linux Foundation and others.
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
##############################################################################
-
+echo "---> maven-sonar.sh"
# This script builds a Maven project and deploys it into a staging repo which
# can be used to deploy elsewhere later eg. Nexus staging / snapshot repos.
# 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 deploy \
- -Dsonar \
- --global-settings "$GLOBAL_SETTINGS_FILE" \
- --settings "$SETTINGS_FILE" \
- -DaltDeploymentRepository=staging::default::file:"$WORKSPACE"/m2repo \
+$MVN clean install \
+ -e -Dsonar \
+ ${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 \
- -Dsonar -Dsonar.host.url="$SONAR_HOST_URL" \
- --global-settings "$GLOBAL_SETTINGS_FILE" \
- --settings "$SETTINGS_FILE" \
- -DaltDeploymentRepository=staging::default::file:"$WORKSPACE"/m2repo \
+"$MVN" $SONAR_MAVEN_GOAL \
+ -e -Dsonar -Dsonar.host.url="$SONAR_HOST_URL" \
+ ${params[*]} \
$MAVEN_OPTIONS $MAVEN_PARAMS