LameXP/etc/Deployment/_deploy.bat

219 lines
8.9 KiB
Batchfile
Raw Normal View History

@echo off
setlocal ENABLEDELAYEDEXPANSION
2014-12-22 22:40:20 +01:00
:: ---------------------------------------------------------------------------
:: SETUP ENVIRONMENT
:: ---------------------------------------------------------------------------
set "_LAMEXP_PATHS_INITIALIZED_="
2011-04-19 16:21:19 +02:00
call "%~dp0\_paths.bat"
2014-12-22 22:40:20 +01:00
call "%~dp0\_date.bat"
if "%LAMEXP_CONFIG%"=="" (
set "LAMEXP_CONFIG=Release"
)
2014-12-22 22:40:20 +01:00
if "%LAMEXP_PLATFORM%"=="" (
set "LAMEXP_PLATFORM=Win32"
)
if not "%LAMEXP_REDIST%"=="0" (
set "LAMEXP_REDIST=1"
)
2014-12-22 22:40:20 +01:00
:: ---------------------------------------------------------------------------
:: SETUP PATHS
:: ---------------------------------------------------------------------------
set "BIN_PATH=%~dp0\..\..\bin\%LAMEXP_PLATFORM%\%LAMEXP_CONFIG%"
2011-04-22 22:10:55 +02:00
set "TMP_PATH=%TEMP%\~LameXP.%LAMEXP_CONFIG%.%ISO_DATE%.%RANDOM%.tmp"
2014-12-22 22:40:20 +01:00
if "%LAMEXP_SKIP_BUILD%"=="YES" (
goto SkipBuildThisTime
)
2014-12-22 22:40:20 +01:00
:: ---------------------------------------------------------------------------
:: CLEAN UP
:: ---------------------------------------------------------------------------
"%~dp0\..\Utilities\CEcho.exe" cyan "\n==========================================================================="
"%~dp0\..\Utilities\CEcho.exe" cyan "Cleaning up..."
"%~dp0\..\Utilities\CEcho.exe" cyan "===========================================================================\n"
for %%i in (bin,obj,tmp,ipch) do (
del /Q /S /F "%~dp0\..\..\%%i\*.*"
)
2014-12-22 22:40:20 +01:00
:: ---------------------------------------------------------------------------
:: UPDATE LANGUAGE FILES AND DCOS
:: ---------------------------------------------------------------------------
call "%~dp0\_mkdocs.bat"
2011-04-19 16:21:19 +02:00
call "%~dp0\_lupdate.bat"
2014-12-22 22:40:20 +01:00
:: ---------------------------------------------------------------------------
:: BUILD THE BINARIES
:: ---------------------------------------------------------------------------
call "%~dp0\_build.bat" "%~dp0\..\..\%PATH_VCPROJ%" "%LAMEXP_PLATFORM%" "%LAMEXP_CONFIG%"
2014-12-22 22:40:20 +01:00
:SkipBuildThisTime
2014-12-22 22:40:20 +01:00
:: ---------------------------------------------------------------------------
:: READ VERSION INFO
:: ---------------------------------------------------------------------------
2011-04-19 16:21:19 +02:00
call "%~dp0\_version.bat"
2014-12-22 22:40:20 +01:00
:: ---------------------------------------------------------------------------
:: GENERATE OUTPUT FILE NAME
:: ---------------------------------------------------------------------------
mkdir "%~dp0\..\..\out" 2> NUL
set "OUT_FILE=%~dp0\..\..\out\%VER_LAMEXP_BASENAME%.%ISO_DATE%.%LAMEXP_CONFIG:_=-%.Build-%VER_LAMEXP_BUILD%"
for /L %%n in (1, 1, 99) do (
if exist "!OUT_FILE!.exe" set "OUT_FILE=%~dp0\..\..\out\%VER_LAMEXP_BASENAME%.%ISO_DATE%.%LAMEXP_CONFIG:_=-%.Build-%VER_LAMEXP_BUILD%.Update-%%n"
if exist "!OUT_FILE!.zip" set "OUT_FILE=%~dp0\..\..\out\%VER_LAMEXP_BASENAME%.%ISO_DATE%.%LAMEXP_CONFIG:_=-%.Build-%VER_LAMEXP_BUILD%.Update-%%n"
)
2014-12-22 22:40:20 +01:00
:: ---------------------------------------------------------------------------
:: DELETE OLD OUTPUT FILE
:: ---------------------------------------------------------------------------
for %%i in (exe,sfx,zip,txt) do (
del "%OUT_FILE%.%%i" 2> NUL
if exist "%OUT_FILE%.%%i" (
2015-06-25 23:06:50 +02:00
"%~dp0\..\Utilities\CEcho.exe" red "\nFailed to delete existing output file^!\n"
pause && exit
2014-12-22 22:40:20 +01:00
)
)
2014-12-22 22:40:20 +01:00
:: ---------------------------------------------------------------------------
:: COPY BINARY FILES AND REDIST
2014-12-22 22:40:20 +01:00
:: ---------------------------------------------------------------------------
"%~dp0\..\Utilities\CEcho.exe" cyan "\n==========================================================================="
"%~dp0\..\Utilities\CEcho.exe" cyan "Copying binary files..."
"%~dp0\..\Utilities\CEcho.exe" cyan "===========================================================================\n"
rd /S /Q "%TMP_PATH%" 2> NUL
mkdir "%TMP_PATH%"
2014-12-22 22:40:20 +01:00
copy "%BIN_PATH%\LameXP.exe" "%TMP_PATH%"
if "%LAMEXP_REDIST%"=="1" (
copy "%BIN_PATH%\MUtils32-?.dll" "%TMP_PATH%"
mkdir "%TMP_PATH%\imageformats"
2014-12-22 22:40:20 +01:00
for %%i in (Core,Gui,Network,Xml,Svg) do (
copy "%~dp0\..\..\..\Prerequisites\Qt4\v%PATH_VCTOOL%_xp\Shared\bin\Qt%%i4.dll" "%TMP_PATH%"
2014-12-22 22:40:20 +01:00
)
for %%i in (gif,ico,jpeg,mng,svg,tga,tiff) do (
copy "%~dp0\..\..\..\Prerequisites\Qt4\v%PATH_VCTOOL%_xp\Shared\plugins\imageformats\q%%i4.dll" "%TMP_PATH%\imageformats"
)
copy "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%PATH_VCTOOL%.CRT\*.dll" "%TMP_PATH%"
if exist "%PATH_MSCDIR%\VC\redist\1033\vcredist_x86.exe" (
mkdir "%TMP_PATH%\redist"
copy "%PATH_MSCDIR%\VC\redist\1033\vcredist_x86.exe" "%TMP_PATH%\redist"
2014-12-22 22:40:20 +01:00
)
)
2014-12-22 22:40:20 +01:00
for %%e in (exe,dll) do (
for %%f in (%TMP_PATH%\*.%%e) do (
"%PATH_UPXBIN%\upx.exe" --best "%%f"
)
)
2014-12-22 22:40:20 +01:00
copy "%~dp0\..\..\ReadMe.txt" "%TMP_PATH%"
copy "%~dp0\..\..\License.txt" "%TMP_PATH%"
copy "%~dp0\..\..\Copying.txt" "%TMP_PATH%"
copy "%~dp0\..\..\doc\Changelog.html" "%TMP_PATH%"
copy "%~dp0\..\..\doc\Translate.html" "%TMP_PATH%"
copy "%~dp0\..\..\doc\Manual.html" "%TMP_PATH%"
copy "%~dp0\..\..\doc\FAQ.html" "%TMP_PATH%"
2014-12-22 22:40:20 +01:00
mkdir "%TMP_PATH%\img\lamexp"
copy "%~dp0\..\..\doc\img\lamexp\*.png" "%TMP_PATH%\img\lamexp"
2014-12-22 22:40:20 +01:00
if not "%VER_LAMEXP_TYPE%" == "Final" (
if not "%VER_LAMEXP_TYPE%" == "Hotfix" (
copy "%~dp0\..\..\doc\PRE_RELEASE_INFO.txt" "%TMP_PATH%"
)
)
2014-12-22 22:40:20 +01:00
if exist "%~dp0\_postproc.bat" (
call "%~dp0\_postproc.bat" "%TMP_PATH%"
)
attrib +R "%TMP_PATH%\*.txt"
attrib +R "%TMP_PATH%\*.html"
attrib +R "%TMP_PATH%\*.exe"
attrib +R "%TMP_PATH%\*.dll"
2014-12-22 22:40:20 +01:00
:: ---------------------------------------------------------------------------
:: CREATE PACKAGES
:: ---------------------------------------------------------------------------
"%~dp0\..\Utilities\CEcho.exe" cyan "\n==========================================================================="
"%~dp0\..\Utilities\CEcho.exe" cyan "Creating release packages..."
"%~dp0\..\Utilities\CEcho.exe" cyan "===========================================================================\n"
"%~dp0\..\Utilities\Echo.exe" LameXP - Audio Encoder Front-End > "%OUT_FILE%.txt"
"%~dp0\..\Utilities\Echo.exe" v%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO% %VER_LAMEXP_TYPE%-%VER_LAMEXP_PATCH% (Build #%VER_LAMEXP_BUILD%)\n >> "%OUT_FILE%.txt"
"%~dp0\..\Utilities\Echo.exe" Built on %ISO_DATE% at %TIME%\n\n >> "%OUT_FILE%.txt"
"%~dp0\..\Utilities\Echo.exe" ---------------------------\nREADME.TXT\n--------------------------- >> "%OUT_FILE%.txt"
"%~dp0\..\Utilities\Cat.exe" "%~dp0\..\..\ReadMe.txt" >> "%OUT_FILE%.txt"
"%~dp0\..\Utilities\Echo.exe" \n\n---------------------------\nLICENSE.TXT\n---------------------------\n >> "%OUT_FILE%.txt"
"%~dp0\..\Utilities\Cat.exe" "%~dp0\..\..\License.txt" >> "%OUT_FILE%.txt"
2014-12-22 22:40:20 +01:00
pushd "%TMP_PATH%"
"%~dp0\..\Utilities\Zip.exe" -r -9 -z "%OUT_FILE%.zip" "*.*" < "%OUT_FILE%.txt"
popd
2014-12-22 22:40:20 +01:00
"%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_REDIST=%LAMEXP_REDIST%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.sfx" "/DLAMEXP_SOURCE_PATH=%TMP_PATH%" "%~dp0\..\NSIS\setup.nsi"
2015-06-25 23:06:50 +02:00
if %ERRORLEVEL% NEQ 0 (
"%~dp0\..\Utilities\CEcho.exe" red "\nFailed to build installer^!\n"
pause && exit
)
"%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_REDIST=%LAMEXP_REDIST%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.exe" "/DLAMEXP_SOURCE_FILE=%OUT_FILE%.sfx" "%~dp0\..\NSIS\wrapper.nsi"
2015-06-25 23:06:50 +02:00
if %ERRORLEVEL% NEQ 0 (
"%~dp0\..\Utilities\CEcho.exe" red "\nFailed to build installer^!\n"
pause && exit
)
2014-12-22 22:40:20 +01:00
attrib -R "%TMP_PATH%\*.txt"
attrib -R "%TMP_PATH%\*.html"
attrib -R "%TMP_PATH%\*.exe"
rd /S /Q "%TMP_PATH%"
2014-12-22 22:40:20 +01:00
for %%i in (zip,exe) do (
if not exist "%OUT_FILE%.zip" (
2015-06-25 23:06:50 +02:00
"%~dp0\..\Utilities\CEcho.exe" red "\nFailed to create release packages^!\n"
pause && exit
2014-12-22 22:40:20 +01:00
)
)
2014-12-22 22:40:20 +01:00
attrib +R "%OUT_FILE%.zip"
attrib +R "%OUT_FILE%.sfx"
attrib +R "%OUT_FILE%.exe"
2014-12-22 22:40:20 +01:00
:: ---------------------------------------------------------------------------
:: SIGN OUTPUT FILE
:: ---------------------------------------------------------------------------
"%~dp0\..\Utilities\CEcho.exe" cyan "\n==========================================================================="
"%~dp0\..\Utilities\CEcho.exe" cyan "Signing output file..."
"%~dp0\..\Utilities\CEcho.exe" cyan "===========================================================================\n"
"%PATH_GNUPG1%\gpg.exe" --detach-sign "%OUT_FILE%.exe"
attrib +R "%OUT_FILE%.exe.sig"
2014-12-22 22:40:20 +01:00
:: ---------------------------------------------------------------------------
:: COMPLETED
:: ---------------------------------------------------------------------------
"%~dp0\..\Utilities\CEcho.exe" green "\n==========================================================================="
"%~dp0\..\Utilities\CEcho.exe" green "Completed successfully :-)"
"%~dp0\..\Utilities\CEcho.exe" green "===========================================================================\n"
2014-12-22 22:40:20 +01:00
pause