mirror of https://github.com/bitwarden/cli.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.8 KiB
63 lines
1.8 KiB
#!/usr/bin/env bash |
|
set -e |
|
|
|
# Dependencies: |
|
# 1. brew install jq |
|
# 2. fork of homebrew-cask repo setup. |
|
# see https://github.com/caskroom/homebrew-cask/blob/master/CONTRIBUTING.md#getting-set-up-to-contribute |
|
# |
|
# To run: |
|
# sh ./cask-update.sh |
|
# |
|
# then submit PR from fork repo |
|
|
|
FORK_GITHUB_USER="kspearrin" |
|
APP_NAME="Bitwarden CLI" |
|
PROJECT_NAME="bitwarden-cli" |
|
GITHUB_RELEASE_FEED="https://github.com/bitwarden/cli/releases.atom" |
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
|
PWD_DIR="$(pwd)" |
|
ROOT_DIR="$DIR/.." |
|
DIST_DIR="$ROOT_DIR/dist" |
|
CASK_DIR="$ROOT_DIR/stores/homebrew-cask" |
|
DIST_CASK_DIR="$DIST_DIR/homebrew-cask" |
|
GIT_CASKS_DIR=""$(brew --repository)"/Library/Taps/caskroom/homebrew-cask/Casks" |
|
|
|
if [ -d "$DIST_CASK_DIR" ] |
|
then |
|
rm -rf $DIST_CASK_DIR |
|
fi |
|
|
|
cp -r $CASK_DIR $DIST_DIR |
|
|
|
SRC_PACKAGE="$ROOT_DIR/package.json"; |
|
SRC_PACAKGE_VERSION=$(jq -r '.version' $SRC_PACKAGE) |
|
|
|
|
|
ZIP_FILE="bw-macos-$SRC_PACAKGE_VERSION.zip" |
|
ZIP_URL="https://github.com/bitwarden/cli/releases/download/v$SRC_PACAKGE_VERSION/$ZIP_FILE" |
|
curl $ZIP_URL |
|
CHECKSUM=($(shasum -a 256 $ZIP_FILE)) |
|
rm $ZIP_FILE |
|
CHECKPOINT=$(brew cask _appcast_checkpoint --calculate "$GITHUB_RELEASE_FEED") |
|
RB="$DIST_CASK_DIR/$PROJECT_NAME.rb" |
|
RB_NEW="$DIST_CASK_DIR/$PROJECT_NAME.rb.new" |
|
|
|
sed -e 's/__version__/'"$SRC_PACAKGE_VERSION"'/g; s/__checksum__/'"$CHECKSUM"'/g; s/__checkpoint__/'"$CHECKPOINT"'/g' $RB > $RB_NEW |
|
mv -f $RB_NEW $RB |
|
|
|
cd $GIT_CASKS_DIR |
|
git checkout master |
|
git pull |
|
git reset --hard origin/master |
|
git push $FORK_GITHUB_USER master |
|
git push -d $FORK_GITHUB_USER $PROJECT_NAME || true |
|
git branch -D $PROJECT_NAME || true |
|
git checkout -b $PROJECT_NAME |
|
GIT_CASKS_RB="$GIT_CASKS_DIR/$PROJECT_NAME.rb" |
|
cp $RB $GIT_CASKS_RB |
|
git add $GIT_CASKS_RB |
|
git commit -m "Update $APP_NAME to v$SRC_PACAKGE_VERSION" |
|
git push $FORK_GITHUB_USER $PROJECT_NAME |
|
cd $PWD_DIR
|
|
|