This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/CI/BuildMyCode.sh

55 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
set -eu
if [[ $# -lt 1 ]]; then
echo -e "error: missing location paramter.\n"
echo -e "USAGE: BuildMyCode [OPTIONS]\n"
echo "OPTIONS:"
echo "-b|--branch The name of the git branch. Default is the current branch."
echo "-c|--cmake-flags Any additional CMake flags to pass to the build jobs."
echo "-l|--location The name of key in S3 under which to save the BuildSpec.zip file."
exit 1
fi
branch=""
cmakeFlags=""
# default to the current branch
if [[ -z $branch ]]; then
branch=$(git rev-parse --abbrev-ref HEAD)
fi
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-b|--branch)
branch=$2
shift # past argument
;;
-c|--cmake-flags)
cmakeFlags=$2
shift # past argument
;;
-l|--location) # where to put the buildspec.zip file
buildspecLocation=$2
shift # past argument
;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift # past argument
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
json='{ "branch": "'$branch'", "cmakeFlags": "'$cmakeFlags' "}'
echo "$json" >BuildSpec.json
zip -r BuildSpec.zip BuildSpec.json
aws s3 cp BuildSpec.zip s3://aws-sdk-cpp-dev-pipeline/"${buildspecLocation}"/BuildSpec.zip
S3VERSION=$(aws s3api head-object --bucket aws-sdk-cpp-dev-pipeline --key "${buildspecLocation}"/BuildSpec.zip | awk '/VersionId/{gsub(/[",]/, ""); print $2}')
echo -e "\033[30;42mYour build version ID is ${S3VERSION}\033[0m"