- 改进了自动打包工具,会自动生成版本信息,复制必要的文件,并删除多余的目录。

- 把自动生成的信息加入了git忽略名单
This commit is contained in:
yshtcn
2023-09-06 16:51:30 +08:00
parent 6446940ac6
commit 6ac1fc4d5d
2 changed files with 115 additions and 4 deletions

5
.gitignore vendored
View File

@@ -1,3 +1,8 @@
# Build & VerTxt
build/
version_info.txt
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]

View File

@@ -1,6 +1,112 @@
@echo off
:: <20><><EFBFBD>±<EFBFBD><C2B1><EFBFBD>
title "AutoPyInstaller<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>"
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9>Ϣ
set "ProductName=heartbeat"
set "InternalName=yshtcn"
set "Comments=GitHub: https://github.com/yshtcn/heartbeat"
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>Ŀ¼
cd /d %~dp0
rd /S /Q dist
pyinstaller --onefile --noconsole --add-data "config.Exsample.ini;." heartbeat.py
del /F /Q heartbeat.spec
rd /S /Q build
:: <20><><EFBFBD>±<EFBFBD><C2B1><EFBFBD>
title "AutoPyInstaller<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɰ汾<EFBFBD>ļ<EFBFBD>"
:: ʹ<><CAB9>WMIC<49><43>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
for /f "delims=" %%a in ('wmic os get localdatetime ^| find "."') do set datetime=%%a
:: <20>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
set "year=%datetime:~0,4%"
set "month=%datetime:~4,2%"
set "day=%datetime:~6,2%"
:: <20><>ȡ<EFBFBD><EFBFBD><E6B1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һλ
set /p "revision=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>İ汾<C4B0><E6B1BE>:(%year%, %month%, %day%,[?]):"
:: <20><>ǰ<EFBFBD>汾Ŀ¼<C4BF><C2BC>δȥ<CEB4><C8A5><EFBFBD>ȵ<EFBFBD>0<EFBFBD><30>
set "versionFolder=%year%_%month%_%day%_%revision%"
:: ȥ<><C8A5><EFBFBD>º<EFBFBD><C2BA>յ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><E3A3A8><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
set /a "month=1%month%-100"
set /a "day=1%day%-100"
:: <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD>
set "tempFile=temp.txt"
:: <20><><EFBFBD>ջ򴴽<D5BB><F2B4B4BD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD>
echo. > %tempFile%
:: <20><><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD>
echo # version_info.txt >> %tempFile%
echo VSVersionInfo( >> %tempFile%
echo ffi=FixedFileInfo( >> %tempFile%
echo filevers=(%year%, %month%, %day%, %revision%), >> %tempFile%
echo prodvers=(%year%, %month%, %day%, %revision%), >> %tempFile%
echo mask=0x3f, >> %tempFile%
echo flags=0x0, >> %tempFile%
echo OS=0x4, >> %tempFile%
echo fileType=0x1, >> %tempFile%
echo subtype=0x0, >> %tempFile%
echo date=(0, 0) >> %tempFile%
echo ), >> %tempFile%
echo kids=[ >> %tempFile%
echo StringFileInfo( >> %tempFile%
echo [ >> %tempFile%
echo StringTable( >> %tempFile%
echo '040904B0', >> %tempFile%
echo [StringStruct('ProductName', '%ProductName%'), >> %tempFile%
echo StringStruct('ProductVersion', '%year%, %month%, %day%, %revision%'), >> %tempFile%
echo StringStruct('InternalName', '%InternalName%'), >> %tempFile%
echo StringStruct('CompanyName', 'ysht.me - %Comments%'), >> %tempFile%
echo StringStruct('Comments', '%Comments%'), >> %tempFile%
echo StringStruct('LegalCopyright', 'Apache-2.0 license - %Comments%'), >> %tempFile%
echo ] >> %tempFile%
echo ), >> %tempFile%
echo ] >> %tempFile%
echo ), >> %tempFile%
echo VarFileInfo([VarStruct('Translation', [0x804, 1200])]) >> %tempFile%
echo ] >> %tempFile%
echo ) >> %tempFile%
:: <20><><EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD> version_info.txt
move /Y %tempFile% version_info.txt
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
echo <20><EFBFBD><E6B1BE>Ϣ<EFBFBD>ѳɹ<D1B3><C9B9><EFBFBD><EFBFBD>ɡ<EFBFBD>
::<3A><><EFBFBD>±<EFBFBD><C2B1><EFBFBD>
title "AutoPyInstaller<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>
md build
:: ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<C4BF><C2BC>ͬ<EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5>ļ<EFBFBD><C4BC><EFBFBD>
rd /S /Q %~dp0\build\%versionFolder%
:: ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>ļ<EFBFBD>
del /q %~dp0\build\heartbeat.spec
rd /S /Q %~dp0\build\build
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
cd /d %~dp0\build
pyinstaller --onefile --noconsole --version-file %~dp0\version_info.txt --add-data "%~dp0\config.Exsample.ini;." %~dp0\heartbeat.py
::<3A><><EFBFBD>±<EFBFBD><C2B1><EFBFBD>
title "AutoPyInstaller<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD>β<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
:: <20><><EFBFBD>ٴΣ<D9B4>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<C4BF><C2BC>ͬ<EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5>ļ<EFBFBD><C4BC><EFBFBD>
rd /S /Q %~dp0\build\%versionFolder%
:: <20><><EFBFBD>ٴΣ<D9B4>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>ļ<EFBFBD>
del /q %~dp0\build\heartbeat.spec
rd /S /Q %~dp0\build\build
:: <20><><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><C9B4><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<C4BF>԰汾<D4B0><E6B1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
rename dist %versionFolder%
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫһ<D2AA><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
copy %~dp0\config.Exsample.ini %~dp0\build\%versionFolder%\