mirror of
https://github.com/mas-cli/mas
synced 2024-11-25 21:10:24 +00:00
🔥 Remove core logic from brew_tap_update
This commit is contained in:
parent
b49d9db2dc
commit
20ba23e247
1 changed files with 4 additions and 130 deletions
|
@ -7,19 +7,14 @@
|
||||||
# https://github.com/mas-cli/homebrew-tap/blob/main/Formula/mas.rb
|
# https://github.com/mas-cli/homebrew-tap/blob/main/Formula/mas.rb
|
||||||
#
|
#
|
||||||
|
|
||||||
CORE_TAP_PATH="$(brew --repository homebrew/core)"
|
|
||||||
MAS_TAP_PATH="$(brew --repository mas-cli/tap)"
|
MAS_TAP_PATH="$(brew --repository mas-cli/tap)"
|
||||||
MAS_TAP_PATH_FORMULA="${MAS_TAP_PATH}/Formula/mas.rb"
|
MAS_TAP_PATH_FORMULA="${MAS_TAP_PATH}/Formula/mas.rb"
|
||||||
CORE_FORMULA_PATH="${CORE_TAP_PATH}/Formula/"
|
|
||||||
CORE_MAS_FORMULA_PATH="${CORE_FORMULA_PATH}/m/mas.rb"
|
|
||||||
|
|
||||||
PROJECT_PATH="$(git rev-parse --show-toplevel)"
|
PROJECT_PATH="$(git rev-parse --show-toplevel)"
|
||||||
SWIFT_PACKAGE="${PROJECT_PATH}/Sources/MasKit/Package.swift"
|
|
||||||
LOCAL_MAS_FORMULA_PATH="${PROJECT_PATH}/Homebrew/mas.rb"
|
|
||||||
LOCAL_TAP_FORMULA_PATH="${PROJECT_PATH}/Homebrew/mas-tap.rb"
|
LOCAL_TAP_FORMULA_PATH="${PROJECT_PATH}/Homebrew/mas-tap.rb"
|
||||||
|
|
||||||
function usage {
|
function usage {
|
||||||
echo "Usage: brew_formula_update [-d] v0.0 [sha1_hash]"
|
echo "Usage: brew_tap_update [-d] v0.0 [sha1_hash]"
|
||||||
echo " -d option enables dry run mode"
|
echo " -d option enables dry run mode"
|
||||||
echo " version will be inferred using version script if not provided"
|
echo " version will be inferred using version script if not provided"
|
||||||
echo " sha will be inferred from the current commit if not provided"
|
echo " sha will be inferred from the current commit if not provided"
|
||||||
|
@ -79,130 +74,9 @@ echo "REVISION: ${REVISION}"
|
||||||
# Update Version
|
# Update Version
|
||||||
#
|
#
|
||||||
|
|
||||||
script/version_bump "${MAS_VERSION}" "$REVISION"
|
|
||||||
|
|
||||||
branch_name="releases/release-${MAS_VERSION}"
|
branch_name="releases/release-${MAS_VERSION}"
|
||||||
$echo git branch "${branch_name}"
|
|
||||||
$echo git switch "${branch_name}"
|
$echo git switch "${branch_name}"
|
||||||
|
|
||||||
$echo git add \
|
|
||||||
"${SWIFT_PACKAGE}" \
|
|
||||||
"${LOCAL_MAS_FORMULA_PATH}" \
|
|
||||||
"${LOCAL_TAP_FORMULA_PATH}"
|
|
||||||
|
|
||||||
$echo git commit --message="🔖 Version ${MAS_VERSION}"
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#
|
|
||||||
# Preflight checks
|
|
||||||
#
|
|
||||||
|
|
||||||
# Uninstall if necessary
|
|
||||||
brew remove mas 2>/dev/null || true
|
|
||||||
brew remove mas-cli/tap/mas 2>/dev/null || true
|
|
||||||
|
|
||||||
# Uninstall if still found on path
|
|
||||||
if command -v mas >/dev/null; then
|
|
||||||
script/uninstall || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Ensure core is tapped
|
|
||||||
if ! [[ -d "${CORE_TAP_PATH}" ]]; then
|
|
||||||
brew tap homebrew/core
|
|
||||||
fi
|
|
||||||
|
|
||||||
brew update
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#
|
|
||||||
# Build the formula for the current macOS version and architecture.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Update mas formula in core (temporary)
|
|
||||||
cp -v "${LOCAL_MAS_FORMULA_PATH}" "${CORE_MAS_FORMULA_PATH}"
|
|
||||||
|
|
||||||
# Install mas from source
|
|
||||||
# HOMEBREW_NO_INSTALL_FROM_API:
|
|
||||||
# Force brew to use the local repository instead of the API.
|
|
||||||
# Disable API before any install, reinstall or upgrade commands.
|
|
||||||
|
|
||||||
HOMEBREW_NO_INSTALL_FROM_API=1 \
|
|
||||||
brew install mas \
|
|
||||||
--build-from-source \
|
|
||||||
--verbose
|
|
||||||
|
|
||||||
# Audit formula
|
|
||||||
brew audit --strict mas
|
|
||||||
brew style mas
|
|
||||||
|
|
||||||
# Revert core formula change after testing
|
|
||||||
pushd "${CORE_TAP_PATH}"
|
|
||||||
git diff
|
|
||||||
git checkout .
|
|
||||||
popd
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#
|
|
||||||
# Update Homebrew
|
|
||||||
#
|
|
||||||
|
|
||||||
# echo "Checking to see if this update can be a simple bump."
|
|
||||||
# diff "${LOCAL_MAS_FORMULA_PATH}" "${CORE_MAS_FORMULA_PATH}"
|
|
||||||
|
|
||||||
echo "==> 🧪 Updating homebrew-core formula mas (${MAS_VERSION}, ${REVISION})"
|
|
||||||
|
|
||||||
if [[ $dry_run == '-d' ]]; then
|
|
||||||
# -n, --dry-run Print what would be done rather than doing
|
|
||||||
# it.
|
|
||||||
# --write-only Make the expected file modifications without
|
|
||||||
# taking any Git actions.
|
|
||||||
dry_run="--dry-run"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Validating formula"
|
|
||||||
brew bump-formula-pr \
|
|
||||||
--tag="${MAS_VERSION}" \
|
|
||||||
--revision="${REVISION}" \
|
|
||||||
--strict \
|
|
||||||
--verbose \
|
|
||||||
"${dry_run}" \
|
|
||||||
mas
|
|
||||||
|
|
||||||
# brew exit status
|
|
||||||
status=$?
|
|
||||||
if [[ ${status} -ne 0 ]]; then
|
|
||||||
echo "Formula did not validate using 'brew bump-formula-pr'"
|
|
||||||
exit ${status}
|
|
||||||
fi
|
|
||||||
|
|
||||||
pushd "${CORE_FORMULA_PATH}"
|
|
||||||
|
|
||||||
echo "Updating homebrew/core formula with a PR"
|
|
||||||
|
|
||||||
$echo brew bump-formula-pr \
|
|
||||||
--tag="${MAS_VERSION}" \
|
|
||||||
--revision="${REVISION}" \
|
|
||||||
--commit \
|
|
||||||
--fork-org mas-cli \
|
|
||||||
--online \
|
|
||||||
--strict \
|
|
||||||
--verbose \
|
|
||||||
"${dry_run}" \
|
|
||||||
mas
|
|
||||||
|
|
||||||
popd
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#
|
|
||||||
# Create pr on mas-cli/mas
|
|
||||||
#
|
|
||||||
|
|
||||||
$echo gh pr create \
|
|
||||||
--assignee phatblat \
|
|
||||||
--base main \
|
|
||||||
--draft \
|
|
||||||
--fill
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Create pr on mas-cli/homebrew-tap
|
# Create pr on mas-cli/homebrew-tap
|
||||||
|
@ -213,15 +87,15 @@ if ! [[ -d "${MAS_TAP_PATH}" ]]; then
|
||||||
brew tap mas-cli/tap
|
brew tap mas-cli/tap
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Update tap formula version
|
|
||||||
cp -v "${LOCAL_TAP_FORMULA_PATH}" "${MAS_TAP_PATH_FORMULA}"
|
|
||||||
|
|
||||||
pushd "${MAS_TAP_PATH}"
|
pushd "${MAS_TAP_PATH}"
|
||||||
|
|
||||||
branch_name="releases/release-${MAS_VERSION}"
|
branch_name="releases/release-${MAS_VERSION}"
|
||||||
$echo git branch "${branch_name}"
|
$echo git branch "${branch_name}"
|
||||||
$echo git switch "${branch_name}"
|
$echo git switch "${branch_name}"
|
||||||
|
|
||||||
|
# Update tap formula version
|
||||||
|
cp -v "${LOCAL_TAP_FORMULA_PATH}" "${MAS_TAP_PATH_FORMULA}"
|
||||||
|
|
||||||
$echo git add \
|
$echo git add \
|
||||||
"${MAS_TAP_PATH_FORMULA}"
|
"${MAS_TAP_PATH_FORMULA}"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue