From a90d6c603767b4c4a16137edcafe4573082e7965 Mon Sep 17 00:00:00 2001 From: AJ Schroeder <6432150+ajschroeder@users.noreply.github.com> Date: Tue, 10 Jun 2025 15:12:47 -0500 Subject: [PATCH] feat: add support for copying vars files for individual builds --- config.sh | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/config.sh b/config.sh index b33faac..abe1f8b 100755 --- a/config.sh +++ b/config.sh @@ -7,24 +7,31 @@ source common.sh SCRIPT_PATH=$(realpath "$(dirname "$(follow_link "$0")")") CONFIG_PATH=${1:-${SCRIPT_PATH}/config} -mkdir -p "$CONFIG_PATH" +# Define the script and config paths +follow_link_result=$(follow_link "$0") +if ! SCRIPT_PATH=$(realpath "$(dirname "${follow_link_result}")"); then + echo "Error: follow_link or realpath failed" + exit 1 +fi +CONFIG_PATH=${1:-${SCRIPT_PATH}/config} + +mkdir -p "${CONFIG_PATH}" ### Copy the example input variables. echo echo "> Copying the example input variables..." -cp -av "$SCRIPT_PATH"/builds/*.pkrvars.hcl.example "$CONFIG_PATH" +cp -av "${SCRIPT_PATH}"/builds/*.pkrvars.hcl.example "${CONFIG_PATH}" +find "${SCRIPT_PATH}"/builds/*/ -type f -name "*.pkrvars.hcl.example" | while IFS= read -r srcfile; do + srcdir=$(dirname "${srcfile}" | tr -s /) + dstfile=$(echo "${srcdir#"${SCRIPT_PATH}"/builds/}" | tr '/' '-') + cp -av "${srcfile}" "${CONFIG_PATH}/${dstfile}.pkrvars.hcl.example" +done ### Rename the example input variables. echo echo "> Renaming the example input variables..." -srcext=".pkrvars.hcl.example" -dstext=".pkrvars.hcl" - -for f in "$CONFIG_PATH"/*"${srcext}"; do - bname="${f%"${srcext}"}" - echo "${bname}{${srcext} → ${dstext}}" - mv "${f}" "${bname}${dstext}" +for file in "${CONFIG_PATH}"/*.pkrvars.hcl.example; do + mv -- "${file}" "${file%.example}" done echo echo "> Done." -