#!/bin/bash set -e ROOT=${ROOT:-$(pwd)} TYPE=$1 SERVICE=$2 service_dir=$ROOT/$SERVICE build_dir=$service_dir/build display_usage () { echo "Usage: $0 TYPE SERVICE" } # Check if there are at least 2 arguments if [ $# -lt 2 ]; then display_usage exit 1 fi # Check if the service exists if [ ! -f $service_dir/metadata.yaml ]; then echo "Service $SERVICE does not exist" exit 1 fi # Check for quiet mode if [ ! -z $QUIET ]; then export OUTPUT_FILE=$(mktemp) exec 5>&1 6>&2 1>$OUTPUT_FILE 2>&1 fi cleanup () { CODE=$? if [ ! -z $QUIET ]; then if [ ! $CODE -eq 0 ]; then cat $OUTPUT_FILE >&5 fi rm $OUTPUT_FILE fi } trap cleanup EXIT artifacts_cloudformation () { if [ ! -d $build_dir ]; then echo "$build_dir does not exist." exit 1 fi template_file=$build_dir/template.out if [ ! -f $template_file ]; then echo "$template_file does not exist." exit 1 fi # Create a temporary folder tmpdir=$(mktemp -d) # Copy artifacts cp -pv $template_file $tmpdir/template.yaml for artifact_file in $build_dir/artifacts/*; do cp -pv $artifact_file $tmpdir/$(basename $artifact_file) done # Create zip file pushd $tmpdir zip $build_dir/artifacts.zip * popd # Delete the temporary folder rm -r $tmpdir } type artifacts_$TYPE | grep -q "function" &>/dev/null || { echo "Unsupported type: $TYPE" echo display_usage exit 1 } artifacts_$TYPE