mirror of
https://github.com/eth-p/bat-extras.git
synced 2024-12-12 17:20:40 +01:00
Fix broken build when missing shfmt
This commit is contained in:
parent
358632ed9d
commit
0aeabe9bdf
49
build.sh
49
build.sh
@ -31,11 +31,27 @@ next() {
|
||||
}
|
||||
|
||||
# Prints a build step message.
|
||||
SMSG_CACHE_MSG=()
|
||||
SMSG_CACHE_META=()
|
||||
SMSG_EXPECT=1
|
||||
smsg() {
|
||||
case "$2" in
|
||||
"SKIP") printc " %{YELLOW} %{DIM}%s [skipped]%{CLEAR}\n" "$1" 1>&2;;
|
||||
*) printc " %{YELLOW} %s...%{CLEAR}\n" "$1" 1>&2;;
|
||||
if [[ "$1" != "$SMSG_EXPECT" ]]; then
|
||||
SMSG_CACHE_MSG["$1"]="$2"
|
||||
SMSG_CACHE_META["$1"]="$3"
|
||||
return;
|
||||
fi
|
||||
|
||||
((SMSG_EXPECT++))
|
||||
case "$3" in
|
||||
"SKIP") printc " %{YELLOW} %{DIM}%s [skipped]%{CLEAR}\n" "$2" 1>&2;;
|
||||
*) printc " %{YELLOW} %s...%{CLEAR}\n" "$2" 1>&2;;
|
||||
esac
|
||||
|
||||
# Cached messages.
|
||||
echo "${SMSG_CACHE_MSG[$SMSG_EXPECT]}" 1>&2
|
||||
if [[ -n "${SMSG_CACHE_MSG[$SMSG_EXPECT]}" ]]; then
|
||||
smsg "$SMSG_EXPECT" "${SMSG_CACHE_MSG[$SMSG_EXPECT]}" "${SMSG_CACHE_META[$SMSG_EXPECT]}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Build step: read
|
||||
@ -47,7 +63,7 @@ smsg() {
|
||||
# Output:
|
||||
# The file contents.
|
||||
step_read() {
|
||||
smsg "Reading"
|
||||
smsg 1 "Reading"
|
||||
cat "$1"
|
||||
}
|
||||
|
||||
@ -62,7 +78,7 @@ step_read() {
|
||||
# Output:
|
||||
# The processed file contents.
|
||||
step_preprocess() {
|
||||
smsg "Preprocessing"
|
||||
smsg 2 "Preprocessing"
|
||||
|
||||
local line
|
||||
while IFS='' read -r line; do
|
||||
@ -111,12 +127,12 @@ step_preprocess() {
|
||||
# The minified file contents.
|
||||
step_minify() {
|
||||
if [[ "$OPT_MINIFY" =~ ^all($|+.*) ]]; then
|
||||
smsg "Minifying" "SKIP"
|
||||
smsg 3 "Minifying" "SKIP"
|
||||
cat
|
||||
return 0
|
||||
fi
|
||||
|
||||
smsg "Minifying"
|
||||
smsg 3 "Minifying"
|
||||
printf "#!/usr/bin/env bash\n"
|
||||
pp_minify | pp_minify_unsafe
|
||||
}
|
||||
@ -131,7 +147,7 @@ step_minify() {
|
||||
# The compressed self-executable script.
|
||||
step_compress() {
|
||||
if ! "$OPT_COMPRESS"; then
|
||||
smsg "Compressing" "SKIP"
|
||||
smsg 4 "Compressing" "SKIP"
|
||||
cat
|
||||
return 0
|
||||
fi
|
||||
@ -141,7 +157,7 @@ step_compress() {
|
||||
printf "(exec -a \"\$0\" bash -c 'eval \"\$(cat <&3)\"' \"\$0\" \"\$@\" 3< <(dd bs=1 if=\"\$0\" skip=::: 2>/dev/null | gunzip)); exit \$?;\n"
|
||||
})"
|
||||
|
||||
smsg "Compressing"
|
||||
smsg 4 "Compressing"
|
||||
sed "s/:::/$(wc -c <<< "$wrapper" | bc)/" <<< "$wrapper"
|
||||
gzip
|
||||
}
|
||||
@ -158,7 +174,7 @@ step_compress() {
|
||||
# Output:
|
||||
# The file contents.
|
||||
step_write() {
|
||||
smsg "Building"
|
||||
smsg 5 "Building"
|
||||
tee "$1"
|
||||
chmod +x "$1"
|
||||
}
|
||||
@ -177,12 +193,12 @@ step_write() {
|
||||
|
||||
step_write_install() {
|
||||
if [[ "$OPT_INSTALL" != true ]]; then
|
||||
smsg "Installing" "SKIP"
|
||||
smsg 6 "Installing" "SKIP"
|
||||
cat
|
||||
return 0
|
||||
fi
|
||||
|
||||
smsg "Installing"
|
||||
smsg 6 "Installing"
|
||||
tee "$1"
|
||||
chmod +x "$1"
|
||||
}
|
||||
@ -198,9 +214,14 @@ pp_strip_comments() {
|
||||
# Minify a Bash source file.
|
||||
# https://github.com/mvdan/sh
|
||||
pp_minify() {
|
||||
shfmt -mn
|
||||
}
|
||||
if [[ "$OPT_MINIFY" = "none" ]]; then
|
||||
cat
|
||||
return
|
||||
fi
|
||||
|
||||
shfmt -mn
|
||||
return $?
|
||||
}
|
||||
|
||||
# Minifies the output script (unsafely).
|
||||
# Right now, this doesn't do anything.
|
||||
|
Loading…
Reference in New Issue
Block a user