33# Version Bump and Release Script for T-Ruby Vim/Neovim Plugin
44#
55# Usage:
6- # ./scripts/bump.sh <type>
6+ # ./scripts/bump.sh <type|version >
77#
88# Arguments:
99# patch Bump patch version (0.1.0 -> 0.1.1)
1010# minor Bump minor version (0.1.0 -> 0.2.0)
1111# major Bump major version (0.1.0 -> 1.0.0)
12+ # X.Y.Z Set exact version (e.g., 0.2.2)
1213#
1314# Options:
1415# --dry-run Show what would happen without making changes
1718# Examples:
1819# ./scripts/bump.sh patch
1920# ./scripts/bump.sh minor --dry-run
21+ # ./scripts/bump.sh 0.2.2
2022
2123set -e
2224
@@ -33,6 +35,7 @@ NC='\033[0m' # No Color
3335
3436DRY_RUN=false
3537BUMP_TYPE=" "
38+ EXACT_VERSION=" "
3639
3740print_help () {
3841 echo " Version Bump and Release Script for T-Ruby Vim/Neovim Plugin"
@@ -43,6 +46,7 @@ print_help() {
4346 echo " patch Bump patch version (0.1.0 -> 0.1.1)"
4447 echo " minor Bump minor version (0.1.0 -> 0.2.0)"
4548 echo " major Bump major version (0.1.0 -> 1.0.0)"
49+ echo " X.Y.Z Set exact version (e.g., 0.2.2)"
4650 echo " "
4751 echo " Options:"
4852 echo " --dry-run Show what would happen without making changes"
@@ -122,15 +126,21 @@ while [[ $# -gt 0 ]]; do
122126 exit 0
123127 ;;
124128 * )
125- log_error " Unknown option: $1 "
126- print_help
127- exit 1
129+ # Check if it's a version number (X.Y.Z format)
130+ if [[ $1 =~ ^[0-9]+\. [0-9]+\. [0-9]+$ ]]; then
131+ EXACT_VERSION=" $1 "
132+ shift
133+ else
134+ log_error " Unknown option: $1 "
135+ print_help
136+ exit 1
137+ fi
128138 ;;
129139 esac
130140done
131141
132- if [ -z " $BUMP_TYPE " ]; then
133- log_error " Missing bump type (patch|minor|major)"
142+ if [ -z " $BUMP_TYPE " ] && [ -z " $EXACT_VERSION " ] ; then
143+ log_error " Missing bump type (patch|minor|major) or version (X.Y.Z) "
134144 print_help
135145 exit 1
136146fi
145155
146156# Calculate versions
147157OLD_VERSION=$( get_version)
148- NEW_VERSION=$( bump_version " $BUMP_TYPE " )
158+ if [ -n " $EXACT_VERSION " ]; then
159+ NEW_VERSION=" $EXACT_VERSION "
160+ else
161+ NEW_VERSION=$( bump_version " $BUMP_TYPE " )
162+ fi
149163
150164log_info " Version bump: $OLD_VERSION -> $NEW_VERSION "
151165
0 commit comments