From 4495559b4c52eca8e72a1e9b2f0852e0c618229f Mon Sep 17 00:00:00 2001 From: wushuo Date: Mon, 24 Nov 2025 12:56:51 +0800 Subject: [PATCH] =?UTF-8?q?build:=20=E5=A2=9E=E5=8A=A0=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8F=B7=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + new_version.sh | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 new_version.sh diff --git a/.gitignore b/.gitignore index e139e676..4a18e0b3 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,4 @@ java-17-openjdk-17.0.3.0.6-1.jre.win.x86_64.zip ani-rss-update.exe /info.json build_info +*.versionsBackup diff --git a/new_version.sh b/new_version.sh new file mode 100644 index 00000000..580dac4c --- /dev/null +++ b/new_version.sh @@ -0,0 +1,49 @@ +#!/bin/sh + +# Maven 版本设置脚本 +# 用法: ./new_version.sh + +set -e # 遇到错误立即退出 + +# 检查是否传入版本号参数 +if [ $# -ne 1 ]; then + echo "错误: 请指定版本号参数" + echo "用法: $0 " + 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