Files
openfoodnetwork/script/upgrade_bundler.sh
Maikel Linke 3f2299e52e Add script to upgrade bundler to Gemfile version
Useful to sync your bundler version or the CI bundler version with the
rest of the team.
2017-07-26 13:37:42 +10:00

30 lines
869 B
Bash
Executable File

#!/bin/sh
# This shell script looks for the last used Bundler version in Gemfile.lock and
# installs exactly that version, removing other versions.
# Fail if a single command fails.
set -e
# `grep -m 1`: find the first occurrence of "BUNDLED WITH"
# `-A`: print the next line after "BUNDLED WITH" as well
# `-x -F`: find exactly that string without interpreting regex
# `tail -n 1`: take the last line, the version line
# `tr -d`: delete all spaces, the indent before the version
version="$(grep -m 1 -A 1 -x -F "BUNDLED WITH" Gemfile.lock | tail -n 1 | tr -d '[:space:]')"
if [ -z "$version" ]; then
echo "No bundler version in Gemfile.lock."
exit 1
fi
current="$(bundler --version)"
if [ "$current" = "Bundler version $version" ]; then
echo "Already up-to-date: $current"
exit 0
fi
gem install bundler -v "$version"
gem cleanup bundler