# build_scripts 目录说明

本目录包含元泰 EG 项目的所有构建相关脚本和文档。

---

## 📁 目录结构

```
build_scripts/
├── 🔧 构建脚本
│   ├── build_windows.ps1      # Windows 主构建脚本 ⭐
│   ├── build_linux.sh         # Linux 构建脚本
│   └── (已移除临时/重复入口脚本)
│
├── 🔍 检查脚本
│   ├── check_env.ps1          # Windows 环境检查
│   ├── check_env.sh           # Linux 环境检查
│   ├── check_python_version.py # Python 版本检查 ⭐
│   └── analyze_packaging.py   # 打包分析工具
│
└── 📖 文档
    ├── BUILD_GUIDE.md         # 完整构建指南 ⭐⭐⭐
    ├── ICON_GUIDE.md          # 图标准备
    ├── PACKAGING_RISK_AUDIT.md # 打包风险与源码整改清单 ⭐
    ├── PYTHON_VERSION_REQUIREMENT.md  # Python 3.11 要求 ⭐
    └── PACKAGING_CHECKLIST.md # 打包检查清单
```

---

## 🚀 快速开始

### 第一次构建？

请按顺序阅读：
1. `BUILD_GUIDE.md` - 完整构建步骤
2. `PYTHON_VERSION_REQUIREMENT.md` - Python 3.11 安装
3. `ICON_GUIDE.md` - 准备应用图标（可选）
4. `PACKAGING_RISK_AUDIT.md` - 打包风险与源码整改清单

### 已经配置好环境？

直接使用：
```powershell
# Windows
.\build_scripts\build_windows.ps1 -Version "1.0.0"

# Linux
./build_scripts/build_linux.sh "1.0.0"
```

---

## 📋 关键检查点

构建前请确认：

- [ ] Python 3.11.x 已安装
- [ ] `python build_scripts/check_python_version.py` 通过
- [ ] `pip install -r requirements/requirements-minimal.txt` 完成
- [ ] Visual Studio Build Tools 已安装（Windows）
- [ ] 在 VS Dev Shell 中运行构建

---

## 🔧 核心脚本说明

### build_windows.ps1

Windows 主构建脚本，功能：
- 检查 Python 3.11
- 检查 C++ 编译器
- 执行保守白名单 Nuitka 编译
- 自动探测并尽量纳入可选依赖
- 复制运行时资源文件
- 生成最终输出

关键策略：
- 优先保证发行版可运行，不追求最小体积
- 显式包含 `rpcore`、`rplibs`、`rpplugins`
- 整体复制 `RenderPipelineFile`、`Resources`、`config`、`demo` 等目录

### build_linux.sh

Linux 主构建脚本，功能：
- 执行保守白名单 Nuitka 编译
- 构建 AppDir / AppImage
- 显式设置 `EG_PROJECT_ROOT`，保证 AppImage 中资源路径正确
- 复制运行时资源文件

用法：
```powershell
./build_scripts/build_linux.sh "1.0.0" --clean
```

### check_python_version.py

Python 版本检查工具：
```powershell
python build_scripts/check_python_version.py
```

### analyze_packaging.py

打包内容分析工具：
```powershell
python build_scripts/analyze_packaging.py
```

---

## 📝 重要变更

### 2024年更新

- ✅ 指定 Python 3.11 为必须版本
- ✅ 移除 PyQt5/PySide6 依赖（节省 ~170MB）
- ✅ 简化依赖配置
- ✅ 重新组织文档结构

### 2026年更新

- ✅ 清理重复/临时构建脚本与说明文档
- ✅ Windows/Linux 构建脚本统一改为保守白名单策略
- ✅ 新增打包风险审计文档

---

## ❓ 常见问题

**Q: 构建失败怎么办？**  
A: 查看 `BUILD_GUIDE.md` 的"常见问题"章节

**Q: Python 版本不对？**  
A: 阅读 `PYTHON_VERSION_REQUIREMENT.md`

**Q: 缺少图标？**  
A: 参考 `ICON_GUIDE.md` 创建或下载占位图标

---

**最后更新**: 2024年
