From e0a62b1a42d6be63b1267551bccfdfd8a21a998b Mon Sep 17 00:00:00 2001 From: Javier Cortejoso Date: Mon, 8 Apr 2019 17:33:38 +0200 Subject: [PATCH] Added bumpversion --- .bumpversion.cfg | 7 +++++++ bumpversion.sh | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 .bumpversion.cfg create mode 100755 bumpversion.sh diff --git a/.bumpversion.cfg b/.bumpversion.cfg new file mode 100644 index 0000000..2b86ecd --- /dev/null +++ b/.bumpversion.cfg @@ -0,0 +1,7 @@ +[bumpversion] +current_version = 0.1.1 + +[bumpversion:file:package.json] +search = "version": "{current_version}", +replace = "version": "{new_version}", + diff --git a/bumpversion.sh b/bumpversion.sh new file mode 100755 index 0000000..4c9ad5a --- /dev/null +++ b/bumpversion.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +set -x +set -e + +usage(){ + echo "Usage: $0 {major|minor|patch} [--tag]" + exit 1 +} + +if ! [ -x "$(command -v bumpversion)" ]; then + echo 'Error: bumpversion is not installed.' >&2 + exit 1 +elif ! git diff-index --quiet HEAD -- >/dev/null 2>&1; then + echo 'There are local changes in your the git repository. Please commit or stash them before bumping version.' >&2 + exit 1 +fi + +if [ "$#" -lt 1 ]; then + echo "Illegal number of parameters" + usage +elif [[ $1 != 'major' && $1 != 'minor' && $1 != 'patch' ]]; then + echo 'First argument must be {major|minor|patch}' + usage +fi + +if [[ $2 == '--tag' ]]; then + if git branch --contains $(git rev-parse --verify HEAD) | grep -E 'master'; then + bumpversion --tag --commit $1 + else + echo "Only master tags can be tagged" + exit 1 + fi +else + bumpversion $1 +fi