roar/assets/shell/bump-version.sh

51 lines
1.4 KiB
Bash
Raw Normal View History

#!/bin/sh
#
RELEASE_DEPS="rsync sed";
rc() {
local _cmd="${1}"; shift;
printf "%s >>> %s %s\n" "$(date +"%d-%^b-%Y %H:%M:%S")" "${_cmd}" "${*}";
"${_cmd}" "${@}";
};
usage() {
echo "usage: ${0} [-h] old_version new_version" >&2;
echo " -h.........: show this screen" >&2;
};
main() {
2018-11-23 20:26:24 +00:00
local _opt="" _version_new="" _version_new_code="" _version_old="";
while getopts hv _opt; do
case "${_opt}" in
h) usage; exit 0; ;;
*) usage; exit 1; ;;
esac; done;
shift $((${OPTIND}-1));
if [ -z "${1}" ]; then
echo "error: empty or missing old version number argument" >&2; usage; exit 1;
elif [ -z "${2}" ]; then
echo "error: empty or missing new version number argument" >&2; usage; exit 1;
else
_version_old="${1}"; _version_new="${2}";
2018-11-23 20:26:24 +00:00
_version_new_code="$(echo "${_version_new}" | sed -e 's,\.,,g' -e 's/^[0-9]/&00/')";
fi;
for _cmd in ${RELEASE_DEPS_CMD}; do
if ! which "${_cmd}" >/dev/null; then
echo "error: missing prerequisite command \`${_cmd}'";
exit 1;
fi;
done;
2018-11-23 20:26:24 +00:00
rc sed -i"" '/"version":/s/\("version":\s*\)"'"${_version_old}"'"/\1"'"${_version_new}"'"/' \
2018-11-26 09:45:12 +00:00
MiRCART-nw/package.json \
MiRCART-nw/package-lock.json;
rc sed -i"" '/<title>[^<]\+ v/s/\(<title>[^<]\+ v\)'"${_version_old}"'\(.*<\)/\1'"${_version_new}"'\2/' \
index.html assets/html/help.html;
rc git commit -avm "Bump to v${_version_new}.";
};
set -o errexit -o noglob;
main "${@}";
# vim:foldmethod=marker sw=8 ts=8 tw=120