forked from wushuo894/ani-rss
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnew_version.sh
More file actions
49 lines (40 loc) · 1.25 KB
/
Copy pathnew_version.sh
File metadata and controls
49 lines (40 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/sh
# Maven 版本设置脚本
# 用法: ./new_version.sh <new_version>
set -e # 遇到错误立即退出
# 检查是否传入版本号参数
if [ $# -ne 1 ]; then
echo "错误: 请指定版本号参数"
echo "用法: $0 <new_version>"
echo "示例: $0 2.4.9"
exit 1
fi
VERSION="$1"
# 校验版本号格式
if ! [[ $VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[A-Za-z0-9_-]+)?$ ]]; then
echo "错误: 版本号格式无效 '$VERSION'"
echo "期望格式: 主版本号.次版本号.修订号[-限定符]"
echo "有效示例: 2.4.9, 1.0.0-SNAPSHOT, 3.5.2-RELEASE"
exit 1
fi
# 检查当前目录是否存在 pom.xml
if [ ! -f "pom.xml" ]; then
echo "错误: 当前目录未找到 pom.xml,请在 Maven 项目根目录执行此脚本"
exit 1
fi
echo "正在将项目版本设置为: $VERSION"
# 执行版本设置命令
if mvn versions:set -DnewVersion="$VERSION" -DgenerateBackupPoms=true; then
echo "版本设置成功,正在提交更改..."
# 执行版本提交命令
if mvn versions:commit; then
echo "✅ 版本已成功更新为: $VERSION"
else
echo "❌ 版本提交失败,正在回退..."
mvn versions:revert
exit 1
fi
else
echo "❌ 版本设置失败"
exit 1
fi