X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=shell%2Fmaven-build-deps.sh;fp=shell%2Fmaven-build-deps.sh;h=fdb29b2b07772be8d34d22c1c9dac424fb8093b3;hb=8c159f91ad6c28b20fc1cf271915380d83ad2f80;hp=0000000000000000000000000000000000000000;hpb=ed5d95fd9062c1adee8ee7020eb9deb4f2b7e10e;p=releng%2Fglobal-jjb.git diff --git a/shell/maven-build-deps.sh b/shell/maven-build-deps.sh new file mode 100644 index 00000000..fdb29b2b --- /dev/null +++ b/shell/maven-build-deps.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# SPDX-License-Identifier: EPL-1.0 +############################################################################## +# Copyright (c) 2017 The Linux Foundation and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################## + +# Builds projects provided via $DEPENDENCY_BUILD_ORDER list +# +# This runs a `mvn clean install` against all projects provided by a list. This +# script is a companion script for the gerrit-fetch-dependencies script which +# clones project repos to "$WORKSPACE/.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 +u + +PROJECTS=($(echo "$DEPENDENCY_BUILD_ORDER")) +REPOS_DIR="$WORKSPACE/.repos" + +export MAVEN_OPTS + +for project in "${PROJECTS[@]}"; do + pushd "$REPOS_DIR/$project" + # Disable SC2086 because we want to allow word splitting for $MAVEN_* parameters. + # shellcheck disable=SC2086 + $MVN clean install \ + -Pq \ + -DskipTests=true \ + --global-settings "$GLOBAL_SETTINGS_FILE" \ + --settings "$SETTINGS_FILE" \ + $MAVEN_PARAMS $MAVEN_OPTIONS + popd +done