mirror of
https://github.com/hectorm/hblock.git
synced 2026-04-20 22:16:34 +05:30
Improved version.sh replacements
This commit is contained in:
parent
c50f2d05bb
commit
1bd8abae3b
1 changed files with 26 additions and 15 deletions
|
|
@ -6,29 +6,40 @@ scriptDir=$(dirname "$(readlink -f "$0")")
|
|||
baseDir="$scriptDir/.."
|
||||
action="${1:-nothing}"
|
||||
|
||||
# Escape strings in sed: https://stackoverflow.com/a/29613573
|
||||
quoteRe() { printf -- '%s' "$1" | sed -e 's/[^^]/[&]/g; s/\^/\\^/g; $!a'\\''"$(printf '\n')"'\\n' | tr -d '\n'; }
|
||||
quoteSubst() { printf -- '%s' "$1" | sed -e ':a' -e '$!{N;ba' -e '}' -e 's/[&/\]/\\&/g; s/\n/\\&/g'; }
|
||||
replaceLiteral() { sed -i -- "s/$(quoteRe "$1")/$(quoteSubst "$2")/g" "$3"; }
|
||||
|
||||
version() {
|
||||
jq -r '.version' "$baseDir/package.json"
|
||||
}
|
||||
|
||||
checksum() {
|
||||
sha256sum "$baseDir/hblock" | cut -c 1-64
|
||||
}
|
||||
|
||||
replaceInFile() {
|
||||
sed -i "s/$1/$2/g" "$3"
|
||||
}
|
||||
|
||||
replaceLiteralInFile() {
|
||||
replaceInFile \
|
||||
"$(printf -- '%s' "$1" | sed 's/[]\/$*.^|[]/\\&/g')" \
|
||||
"$(printf -- '%s' "$2" | sed 's/[&/\]/\\&/g')" \
|
||||
"$3"
|
||||
if [ "$action" = 'preversion' ]; then
|
||||
cd "$baseDir" && git show "v$(version):$1" | sha256sum | cut -c 1-64
|
||||
elif [ "$action" = 'version' ]; then
|
||||
sha256sum "$baseDir/$1" | cut -c 1-64
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$action" = 'preversion' ]; then
|
||||
replaceInFile '[A-Fa-f0-9]\{64\}\(.*shasum\)' '__CHECKSUM__\1' "$baseDir/README.md"
|
||||
replaceLiteralInFile "$(version)" '__VERSION__' "$baseDir/hblock"
|
||||
replaceLiteral "# Version: $(version)" '# Version: __VERSION__' "$baseDir/hblock"
|
||||
replaceLiteral "'%s\\n' '$(version)'" "'%s\\n' '__VERSION__'" "$baseDir/hblock"
|
||||
|
||||
replaceLiteral "hblock/v$(version)/" 'hblock/v__VERSION__/' "$baseDir/README.md"
|
||||
replaceLiteral "$(checksum hblock)" '__CHECKSUM_HBLOCK__' "$baseDir/README.md"
|
||||
|
||||
replaceLiteral "hblock/v$(version)/" 'hblock/v__VERSION__/' "$baseDir/resources/systemd/README.md"
|
||||
replaceLiteral "$(checksum resources/systemd/hblock.service)" '__CHECKSUM_HBLOCK_SERVICE__' "$baseDir/resources/systemd/README.md"
|
||||
replaceLiteral "$(checksum resources/systemd/hblock.timer)" '__CHECKSUM_HBLOCK_TIMER__' "$baseDir/resources/systemd/README.md"
|
||||
elif [ "$action" = 'version' ]; then
|
||||
replaceLiteralInFile '__VERSION__' "$(version)" "$baseDir/hblock"
|
||||
replaceLiteralInFile '__CHECKSUM__' "$(checksum)" "$baseDir/README.md"
|
||||
replaceLiteral '__VERSION__' "$(version)" "$baseDir/hblock"
|
||||
|
||||
replaceLiteral '__VERSION__' "$(version)" "$baseDir/README.md"
|
||||
replaceLiteral '__CHECKSUM_HBLOCK__' "$(checksum hblock)" "$baseDir/README.md"
|
||||
|
||||
replaceLiteral '__VERSION__' "$(version)" "$baseDir/resources/systemd/README.md"
|
||||
replaceLiteral '__CHECKSUM_HBLOCK_SERVICE__' "$(checksum resources/systemd/hblock.service)" "$baseDir/resources/systemd/README.md"
|
||||
replaceLiteral '__CHECKSUM_HBLOCK_TIMER__' "$(checksum resources/systemd/hblock.timer)" "$baseDir/resources/systemd/README.md"
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue