From 9446d09584662b9dc9edd13b9410a5e366868cfa Mon Sep 17 00:00:00 2001 From: Roland Walker Date: Mon, 13 Jan 2014 15:59:39 -0500 Subject: [PATCH] Add developer scripts Automates the procedure documented in CONTRIBUTING.md --- developer/bin/develop_brew_cask | 44 ++++++++++++++++++++++++++++++ developer/bin/production_brew_cask | 40 +++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100755 developer/bin/develop_brew_cask create mode 100755 developer/bin/production_brew_cask diff --git a/developer/bin/develop_brew_cask b/developer/bin/develop_brew_cask new file mode 100755 index 0000000000..baaff20615 --- /dev/null +++ b/developer/bin/develop_brew_cask @@ -0,0 +1,44 @@ +#!/bin/bash +# +# develop_brew_cask +# +# symlink repo directories into homebrew cellar so that the +# 'brew cask' command will use the current devel branch. +# +# Saves the production directories under new names. +# + +set -e; # exit on any uncaught error +set +o histexpand; # don't expand history expressions + +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) + +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 "$brew_prefix/Library/Taps/phinze-cask" + 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 +fi + +# diff --git a/developer/bin/production_brew_cask b/developer/bin/production_brew_cask new file mode 100755 index 0000000000..969116ddf4 --- /dev/null +++ b/developer/bin/production_brew_cask @@ -0,0 +1,40 @@ +#!/bin/bash +# +# production_brew_cask +# +# undo symlinks created by 'develop_brew_cask' so that +# the 'brew cask' command will use only released code +# + +set -e; # exit on any uncaught error +set +o histexpand; # don't expand history expressions + +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) + +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 + rm rubylib Casks + mv production_rubylib rubylib + mv production_Casks Casks + cd "$brew_prefix/Library/Taps/phinze-cask" + rm lib Casks + mv production_lib lib + mv production_Casks Casks + echo brew-cask is now in production mode +else + echo brew-cask is already set up for production + exit 1 +fi + +#