mirror of
https://github.com/donl/homebrew-cask-versions.git
synced 2026-07-16 22:06:43 -06:00
- markdown docs were intentionally held back from prior PR to avoid merge conflict - add -help usage notes to all scripts - add sanity check against user running develop_brew_cask inside /usr/local/Library/Taps/phinze-cask/developer/bin and better explain that - note everywhere that "brew update" is not safe when in "development mode"
69 lines
1.7 KiB
Bash
Executable file
69 lines
1.7 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# develop_brew_cask
|
|
#
|
|
|
|
set -e; # exit on any uncaught error
|
|
set +o histexpand; # don't expand history expressions
|
|
|
|
tap_subdir="Library/Taps/phinze-cask"
|
|
|
|
if [[ $1 =~ ^-+h(elp)?$ ]]; then
|
|
printf "develop_brew_cask
|
|
|
|
Symlink private repo directories into Homebrew's Cellar, so
|
|
that the 'brew cask' command will use the current development
|
|
branch in your private repo.
|
|
|
|
Saves the production Homebrew directories under new names.
|
|
|
|
You can reverse this operation with 'production_brew_cask'.
|
|
|
|
Note: it is not safe to run 'brew update' while development
|
|
mode is in effect.
|
|
|
|
"
|
|
exit
|
|
fi
|
|
|
|
script_dir="$(/usr/bin/dirname $0)"
|
|
cd "$script_dir"
|
|
|
|
git_root="$(git rev-parse --show-toplevel)"
|
|
brew_prefix="$(brew --prefix)"
|
|
cellar_dir="$brew_prefix/Cellar/brew-cask"
|
|
version_dir=$(/bin/ls "$cellar_dir/" | sort | tail -1)
|
|
tap_dir="$brew_prefix/$tap_subdir"
|
|
|
|
# sanity check
|
|
if [[ $(/usr/bin/stat -L -f '%i' "$tap_dir") -eq $(/usr/bin/stat -L -f '%i' "$git_root") ]]; then
|
|
printf "\nERROR: run this script in your private repo, not inside Homebrew.\n"
|
|
exit 1;
|
|
fi
|
|
|
|
if [ -z "$version_dir" ]; then
|
|
echo "Can't get version dir under $cellar_dir/"
|
|
exit 1;
|
|
fi
|
|
cd "$cellar_dir/$version_dir"
|
|
|
|
if [ -e "production_rubylib" ]; then
|
|
echo "brew-cask is already set up for development"
|
|
exit 1
|
|
else
|
|
mv rubylib production_rubylib
|
|
mv Casks production_Casks
|
|
ln -s "$git_root/Casks" .
|
|
ln -s "$git_root/lib" rubylib
|
|
cd "$tap_dir"
|
|
mv lib production_lib
|
|
mv Casks production_Casks
|
|
ln -s "$git_root/Casks" .
|
|
ln -s "$git_root/lib" .
|
|
|
|
echo "brew-cask is now in development mode"
|
|
echo "Note: it is not safe 'brew update' while in development mode"
|
|
|
|
fi
|
|
|
|
#
|