mirror of
https://github.com/mas-cli/mas
synced 2024-11-22 11:33:13 +00:00
76 lines
2 KiB
Bash
Executable file
76 lines
2 KiB
Bash
Executable file
#!/bin/bash -e
|
|
#
|
|
# script/bottle
|
|
# mas
|
|
#
|
|
# Builds bottles of mas Homebrew formula for custom tap:
|
|
# https://github.com/mas-cli/homebrew-tap
|
|
#
|
|
|
|
BUILD_DIR="$PWD/build"
|
|
BOTTLE_DIR="$BUILD_DIR/bottles"
|
|
VERSION=$(script/version)
|
|
ROOT_URL="https://dl.bintray.com/phatblat/mas-bottles"
|
|
OS_VERSIONS=(catalina mojave high_sierra sierra el_capitan)
|
|
OLD_FILENAME="mas--${VERSION}.${OS_VERSIONS[0]}.bottle.tar.gz"
|
|
|
|
echo "==> 🍼 Bottling mas ${VERSION} for ${OS_VERSIONS[*]}"
|
|
|
|
# Ensure core formula isn't shadowed by custom tap
|
|
brew tap --list-pinned | grep mas-cli/tap && brew tap-unpin mas-cli/tap
|
|
|
|
# Uninstall if necessary
|
|
if brew ls --versions mas > /dev/null; then
|
|
brew uninstall mas
|
|
fi
|
|
|
|
# Uninstall if still found on path
|
|
if command -v mas > /dev/null; then
|
|
script/uninstall
|
|
fi
|
|
|
|
# Purge the Carthage cache to avoid this error from Homebrew sandboxing:
|
|
# A shell task (/usr/bin/env git checkout --quiet --force 0.15.0 (launched in /Users/ben/Library/Caches/org.carthage.CarthageKit/dependencies/Commandant)) failed with exit code 128:
|
|
# fatal: Unable to create '/Users/ben/Library/Caches/org.carthage.CarthageKit/dependencies/Commandant/./index.lock': Operation not permitted
|
|
rm -rf ~/Library/Caches/org.carthage.CarthageKit
|
|
|
|
# Build the formula
|
|
brew install --build-bottle mas
|
|
|
|
# Generate bottle do block, dropping last 2 lines
|
|
brew bottle --verbose --no-rebuild --root-url=$ROOT_URL mas
|
|
SHA256=$(shasum --algorithm 256 "$OLD_FILENAME" | cut -f 1 -d ' ' -)
|
|
|
|
mkdir -p "$BOTTLE_DIR"
|
|
|
|
# Start of bottle block
|
|
BOTTLE_BLOCK=$(cat <<-SETVAR
|
|
bottle do
|
|
root_url "$ROOT_URL"
|
|
cellar :any
|
|
SETVAR
|
|
)
|
|
|
|
# Fix filename
|
|
for os in ${OS_VERSIONS[*]}; do
|
|
new_filename="mas-${VERSION}.${os}.bottle.tar.gz"
|
|
cp "$OLD_FILENAME" "$BOTTLE_DIR/$new_filename"
|
|
|
|
# Append each os
|
|
BOTTLE_BLOCK="$BOTTLE_BLOCK"$(cat <<-SETVAR
|
|
|
|
sha256 "$SHA256" => :$os
|
|
SETVAR
|
|
)
|
|
done
|
|
|
|
# End of bottle block
|
|
BOTTLE_BLOCK="$BOTTLE_BLOCK"$(cat <<-SETVAR
|
|
|
|
end
|
|
SETVAR
|
|
)
|
|
|
|
rm "$OLD_FILENAME"
|
|
ls -l "$BOTTLE_DIR"
|
|
echo "$BOTTLE_BLOCK"
|