#!/bin/bash -eu # # script/version_bump # mas # # Increments the marketing version of mas. # mas_dir="$(readlink -fn "$(dirname "${BASH_SOURCE:-"${0}"}")/..")" if ! cd -- "${mas_dir}"; then printf $'Error: Could not cd into mas directory: %s\n' "${mas_dir}" >&2 exit 1 fi LOCAL_MAS_FORMULA_PATH="Homebrew/mas.rb" LOCAL_TAP_FORMULA_PATH="Homebrew/mas-tap.rb" SWIFT_PACKAGE="Sources/mas/Package.swift" function usage { echo "Usage: version_bump v0.0 [sha1_hash]" echo "- existing tag name" echo "- sha will be inferred from the given tag if not provided" exit 1 } if [[ $# -lt 1 ]]; then usage fi # arg 1 - version tag MAS_VERSION="${1}" # arg 2 - revision (commit hash) if [[ "${#}" -ge 2 ]]; then REVISION="${2}" else REVISION=$(git rev-parse "${MAS_VERSION}") fi echo "MAS_VERSION: ${MAS_VERSION}" echo "REVISION: ${REVISION}" # Write new version into swift package cat <"${SWIFT_PACKAGE}" /// Generated by \`script/version_bump\`. enum Package { static let version = "${MAS_VERSION#v}" } EOF echo cat "${SWIFT_PACKAGE}" # Write new version into brew formulae for file in ${LOCAL_MAS_FORMULA_PATH} ${LOCAL_TAP_FORMULA_PATH}; do echo "${file}" sd '( +tag: +)"[^"]+"' "\$1\"${MAS_VERSION}\"" "${file}" sd '( +revision: +)"[^"]+"' "\$1\"${REVISION}\"" "${file}" sd '( +root_url "https://github.com/mas-cli/mas/releases/download/).+' "\${1}${MAS_VERSION}\"" "${file}" done