mirror of
https://github.com/tofuutils/pre-commit-opentofu.git
synced 2025-10-15 17:38:54 +02:00
39 lines
1.1 KiB
Bash
Executable file
39 lines
1.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
declare -a paths
|
|
declare -a tfvars_files
|
|
|
|
index=0
|
|
|
|
for file_with_path in "$@"; do
|
|
file_with_path="${file_with_path// /__REPLACED__SPACE__}"
|
|
|
|
paths[index]=$(dirname "$file_with_path")
|
|
|
|
if [[ "$file_with_path" == *".tfvars" ]]; then
|
|
tfvars_files+=("$file_with_path")
|
|
fi
|
|
|
|
let "index+=1"
|
|
done
|
|
|
|
readonly tmp_file="tmp_$(date | md5).txt"
|
|
|
|
for path_uniq in $(echo "${paths[*]}" | tr ' ' '\n' | sort -u); do
|
|
path_uniq="${path_uniq//__REPLACED__SPACE__/ }"
|
|
|
|
pushd "$path_uniq" > /dev/null
|
|
|
|
terraform-docs md ./ > "$tmp_file"
|
|
|
|
# Replace content between markers with the placeholder - http://fahdshariff.blogspot.no/2012/12/sed-mutli-line-replacement-between-two.html
|
|
sed -i -n '/BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK/{p;:a;N;/END OF PRE-COMMIT-TERRAFORM DOCS HOOK/!ba;s/.*\n/I_WANT_TO_BE_REPLACED\n/};p' README.md
|
|
|
|
# Replace placeholder with the content of the file - https://stackoverflow.com/a/31057013/550451
|
|
sed -i -e "/I_WANT_TO_BE_REPLACED/r $tmp_file" -e "//d" README.md
|
|
|
|
rm -f "$tmp_file"
|
|
|
|
popd > /dev/null
|
|
done
|