Skip to content

Commit 2cff7a9

Browse files
committed
feat: support exact version in bump script
1 parent cc639d5 commit 2cff7a9

1 file changed

Lines changed: 21 additions & 7 deletions

File tree

scripts/bump.sh

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
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
@@ -17,6 +18,7 @@
1718
# Examples:
1819
# ./scripts/bump.sh patch
1920
# ./scripts/bump.sh minor --dry-run
21+
# ./scripts/bump.sh 0.2.2
2022

2123
set -e
2224

@@ -33,6 +35,7 @@ NC='\033[0m' # No Color
3335

3436
DRY_RUN=false
3537
BUMP_TYPE=""
38+
EXACT_VERSION=""
3639

3740
print_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
130140
done
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
136146
fi
@@ -145,7 +155,11 @@ fi
145155

146156
# Calculate versions
147157
OLD_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

150164
log_info "Version bump: $OLD_VERSION -> $NEW_VERSION"
151165

0 commit comments

Comments
 (0)