build(gitignore): 添加 source/build.spec 到版本控制

新增 PyInstaller 构建配置文件 build.spec,用于定义应用打包时的模块、资源及可执行文件属性。
同时更新 .gitignore 以确保该配置文件被纳入版本管理。
This commit is contained in:
欧阳淇淇
2025-12-17 23:23:32 +08:00
parent ba653b3470
commit 7f8e94fc25
2 changed files with 68 additions and 0 deletions

1
.gitignore vendored
View File

@@ -31,6 +31,7 @@ MANIFEST
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
!source/build.spec
# Installer logs
pip-log.txt

67
source/build.spec Normal file
View File

@@ -0,0 +1,67 @@
# -*- mode: python ; coding: utf-8 -*-
import os
import sys
from PyInstaller.utils.hooks import collect_submodules, collect_data_files
block_cipher = None
# 收集所有子模块
hiddenimports = []
hiddenimports += collect_submodules('workers')
hiddenimports += collect_submodules('core')
hiddenimports += collect_submodules('ui')
hiddenimports += collect_submodules('utils')
hiddenimports += collect_submodules('handlers')
hiddenimports += collect_submodules('config')
a = Analysis(
['Main.py'],
pathex=['.'],
binaries=[],
datas=[
('assets', 'assets'),
('data', 'data'),
('config', 'config'),
('bin', 'bin'),
('ui', 'ui'),
('workers', 'workers'),
('core', 'core'),
('utils', 'utils'),
('handlers', 'handlers'),
],
hiddenimports=hiddenimports,
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='FRAISEMOE_Addons_Installer_NEXT',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon='assets/images/ICO/icon.ico',
)