#!/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() { local _opt="" _version_new="" _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}"; fi; for _cmd in ${RELEASE_DEPS_CMD}; do if ! which "${_cmd}" >/dev/null; then echo "error: missing prerequisite command \`${_cmd}'"; exit 1; fi; done; rc sed -i"" '/"version":/s/\("version":\s*\)"'"${_version_old}"'"/\1"'"${_version_new}"'"/' \ asciiblaster-cordoba/package.json \ asciiblaster-cordoba/package-lock.json \ asciiblaster-nw/package.json \ asciiblaster-nw/package-lock.json; rc sed -i"" '/version="/s/\(version=\)"'"${_version_old}"'"/\1"'"${_version_new}"'"/' \ asciiblaster-cordoba/config.xml; rc sed -i"" '/[^<]\+ v/s/\(<title>[^<]\+ v\)'"${_version_old}"'\(<\)/\1'"${_version_new}"'\2/' \ index.html; rc rsync -aiLPv --delete \ asciiblaster-cordoba/www/ \ asciiblaster-cordoba/platforms/android/app/src/main/assets/www/; rc git add asciiblaster-cordoba/platforms/android/app/src/main/assets/www; rc git commit -avm "Bump to v${_version_new}."; }; set -o errexit -o noglob; main "${@}"; # vim:foldmethod=marker sw=8 ts=8 tw=120