1、setup=n为独立命令行,不再使用-setup=n方式。

2、更新md说明
This commit is contained in:
2026-05-21 17:30:46 +08:00
parent 84d67d9709
commit 4a4c51d124
5 changed files with 240 additions and 121 deletions

View File

@@ -13,7 +13,7 @@ gitver setver=<pid> [repodir=<path>] [-test] [-setup=0|1]
gitver nuitkabuild=<pid> [repodir=<path>] [-test] [params="<mainPy> <nuitka参数>"]
gitver nuitkapydbuild=<pid> [repodir=<path>] [-test] [params="<modulePy> <nuitka参数>"]
gitver pyinstaller=<pid> [repodir=<path>] [-test] [params="<mainPy|specFile> <pyinstaller参数>"]
gitver -setup=0|1 <pid> [repodir=<path>] [-test]
gitver setup=n [pid=m] [repodir=<path>] [-test]
```
**通用参数说明:**
@@ -94,7 +94,7 @@ gitver rewrite -f
从 Git 仓库读取 tag生成产品版本号与文件版本号并按源码类型自动回写。
```
gitver setver=<pid> [repodir=<path>] [-test] [-setup=0|1]
gitver setver=<pid> [repodir=<path>] [-test]
```
**版本号生成规则:**
@@ -102,26 +102,12 @@ gitver setver=<pid> [repodir=<path>] [-test] [-setup=0|1]
- `ProductVersion = pid.bid.major.minor`(取当前分支前缀的最新 tag
- `FileVersion = pid.yy.mmdd.id`id = 当天当前分支提交次数)
**`-setup=N` 标志(打包模式):**
存在 `-setup=N` 时,**不回写**版本信息到项目文件,改为:
1. 在 exe 目录或上级目录查找安装脚本
2. 修改脚本中的版本号字段
3. 调用对应编译器打包
| 值 | 脚本文件 | 编译器 |
|---|---|---|
| `0` | `setup.iss` | Inno Setup`ISCC.exe` |
| `1` | `setup.nsi` | NSIS`makensis.exe` |
**示例:**
```
gitver setver=5
gitver setver=5 repodir=E:\Code\OTH\gitver
gitver setver=5 -test
gitver setver=5 -setup=0
gitver setver=5 repodir=E:\Code\MyProj -setup=1
```
**输出示例:**
@@ -247,19 +233,26 @@ FileVersion=5.26.0519.3
---
### `gitver -setup=0|1`(独立打包命令)
### `gitver setup=n`(独立打包命令)
独立调用安装脚本打包,不依赖 `setver=` 命令。
独立调用安装脚本打包,不依赖其他命令。
```
gitver -setup=0|1 <pid> [repodir=<path>] [-test]
gitver setup=n [pid=m] [repodir=<path>] [-test]
```
| 参数 | 说明 |
|---|---|
| `n` | 安装脚本类型,`0`=Inno Setup`setup.iss``1`=NSIS`setup.nsi` |
| `pid=m` | 可选,产品 ID整数 0-65535不指定时自动从项目的 `.rc``AssemblyInfo.cs``.spec` 文件中读取版本信息 |
**示例:**
```
gitver -setup=0 5
gitver -setup=1 5 repodir=E:\Code\MyProj
gitver setup=0
gitver setup=1
gitver setup=0 pid=5
gitver setup=1 pid=5 repodir=E:\Code\MyProj
```
---
@@ -491,7 +484,7 @@ VSVersionInfo(
| 33 | 无参数模式下创建 tag 失败 |
| 34 | 无参数模式下创建 tag 后校验失败 |
| 35 | 未找到可回写目标文件,或回写失败 |
| 36 | `-setup=` 值不支持(仅支持 0 和 1 |
| 36 | `setup=` 值不支持(仅支持 0 和 1 |
| 37 | 未找到安装脚本setup.iss / setup.nsi |
| 38 | 修改安装脚本失败 |
| 39 | 未找到安装编译器ISCC.exe / makensis.exe |
@@ -576,12 +569,15 @@ gitver pyinstaller=5 params="main.py --onefile --name=MyApp"
# 预期: 额外参数传递给 PyInstaller
```
### 验证 `-setup=`
### 验证 `setup=`
```bash
# 确保 exe 目录或上级目录有 setup.iss
gitver setver=5 -setup=0
# 预期: 修改 setup.iss 中的版本号并调用 ISCC.exe 编译
gitver setup=0
# 预期: 从 .rc 或 AssemblyInfo.cs 读取版本号,修改 setup.iss 并调用 ISCC.exe 编译
gitver setup=0 pid=5
# 预期: 使用 pid=5 生成版本号,修改 setup.iss 并调用 ISCC.exe 编译
```
---
@@ -604,8 +600,6 @@ gitver setver=5 -setup=0
| `gitver setver=5` | 0 |
| `gitver setver=5 -test` | 0 |
| `gitver setver=5 repodir=E:\NotExists` | 23 |
| `gitver setver=5 -setup=0` | 0 / 37 / 38 / 39 |
| `gitver setver=5 -setup=9` | 36 |
| `gitver setver=abc` | 4 |
### nuitkabuild= 组
@@ -641,6 +635,17 @@ gitver setver=5 -setup=0
| `gitver pyinstaller=5` | 0 |
| `gitver pyinstaller=abc params="main.py"` | 41 |
### setup= 组
| 命令 | 预期返回码 |
|---|---|
| `gitver setup=0` | 0 / 37 / 38 / 39 |
| `gitver setup=1` | 0 / 37 / 38 / 39 |
| `gitver setup=0 pid=5` | 0 / 37 / 38 / 39 |
| `gitver setup=0 pid=5 repodir=E:\NotExists` | 23 |
| `gitver setup=9` | 36 |
| `gitver setup=0 pid=abc` | 4 |
> **注意**如果打包时提示“未找到安装编译器ISCC.exe / makensis.exe请手动下载安装对应工具并将其可执行文件路径如 `ISCC.exe` 或 `makensis.exe` 所在目录)添加到系统环境变量 `PATH`。常见下载地址:
>
> - Inno Setup: https://jrsoftware.org/isinfo.php