#!/bin/bash # ============LICENSE_START======================================================= # Copyright (C) 2020 The Nordix Foundation. All rights reserved. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= set -o errexit set -o nounset set -o pipefail # Turn PROJECTS and PROJECT_DIRECTORIES paramter strings into arrays # Required in order to loop through them PROJECTS=(`echo $PROJECTS | sed 's/,/\n/g'`) PROJECT_DIRECTORIES=(`echo $PROJECT_DIRECTORIES | sed 's/,/\n/g'`) # Find and store array lenth using one of the arrays ARRAY_LENGTH=$(echo ${#PROJECTS[@]}) # Take 1 of the array length for the loop ((ARRAY_LENGTH--)) # Iterate over project source repositories and fetch the SHA commit ids declare -a COMMIT_IDS for i in $(seq 0 $ARRAY_LENGTH) do echo "----------------------------------------------------" echo "INFO: Fetching Build ID of ${PROJECTS[$i]}" echo "----------------------------------------------------" cd $WORKSPACE/${PROJECT_DIRECTORIES[$i]} COMMIT_IDS[$i]=$(echo $(git rev-parse --short HEAD)) done # Generate a build.properties file in order to share variables among jobs # Includes SHA commit ids of the source repositories to include in artifact filenames for traceability echo "-------------------------------------------------------------------------" echo "INFO: Generating build metadata" echo "-------------------------------------------------------------------------" cat << EOF > "$WORKSPACE/build.properties" BUILD_DATE=$(date '+%Y%m%d%H%M') BUILT_BY=$BUILD_URL COMMIT_IDS=$(echo ${COMMIT_IDS[@]} | tr " " -) EOF echo "-------------------------------------------------------------------------" echo "INFO: Creating build metadata file build.properties" echo "-------------------------------------------------------------------------" cat "$WORKSPACE/build.properties" echo "-------------------------------------------------------------------------"