diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-10-04 17:59:39 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-10-04 17:59:39 +0200 |
commit | 1e62086f74fae8df13cd69e8745395828ddcebb5 (patch) | |
tree | 4ec64388d626e6239f84719001049ce40d9ddeb0 /build/c/init | |
parent | fix(common/init): Check for not replaced `%INIT_` variables (diff) | |
download | flake-templates-1e62086f74fae8df13cd69e8745395828ddcebb5.tar.gz flake-templates-1e62086f74fae8df13cd69e8745395828ddcebb5.zip |
chore(build): Regenerate
Diffstat (limited to '')
-rw-r--r-- | build/c/init | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/build/c/init b/build/c/init index e8f72c8..b645441 100644 --- a/build/c/init +++ b/build/c/init @@ -30,6 +30,16 @@ die() { printf "init: ERROR: %s\n" "$1" exit 1 } +quotify() { + python -c " +import sys +if len(sys.argv) > 1: + text =''.join(sys.argv[1:]) +else: + text = sys.stdin.read() +quoted_text = text.replace(\"'\", \"'\\\\''\") +print(f\"'{quoted_text}'\", end='')" "$@" +} # Prompt the user for a specific variable. # ## Args: @@ -57,7 +67,7 @@ prompt() { LE "> " 0 " " "$pr_suggested_answer" "" fi - pr_new_variable="$(printf '%s="%s"' "$pr_variable_upper" "$REPLY")" + pr_new_variable="$(printf '%s=%s' "$pr_variable_upper" "$(quotify "$REPLY")")" eval "$pr_new_variable" printf "%s\n" "$pr_new_variable" >>"$replacement_file" @@ -73,6 +83,8 @@ require mv require sed require chmod +require python + # necessary meta data prompt APPLICATION_NAME "The name of the application" "$(basename "$PWD")" prompt APPLICATION_NAME_STYLIZED "The stylized name of the application (for documentation)" "$(echo "$APPLICATION_NAME" | sed 's/[_-]/ /g' | sed 's/^\(\w\)/\U\1/g' | sed 's/ \(\w\)/ \U\1/g')" @@ -169,6 +181,11 @@ while read -r var; do done done <"$replacement_file" +if [ "$(rg "%INIT_" --files-with-matches | wc -l)" -ne 0 ]; then + echo "Following init variables were not replaced. This is a bug." + rg "%INIT_" +fi + # HACK: Re-add the executable permissions to files, which the nix template has somehow # removed <2024-04-02> chmod +x scripts/* |