OSDN Git Service

Updated deployment scripts.
[lamexp/LameXP.git] / etc / Deployment / _deploy.bat
index a2a3f91..800636d 100644 (file)
@@ -1,43 +1,41 @@
 @echo off
 setlocal ENABLEDELAYEDEXPANSION
-REM ------------------------------------------
-REM :: SETUP ENVIRONMENT ::
-REM ------------------------------------------
+
+:: ---------------------------------------------------------------------------
+:: SETUP ENVIRONMENT
+:: ---------------------------------------------------------------------------
+
+set "_LAMEXP_PATHS_INITIALIZED_="
+
 call "%~dp0\_paths.bat"
-if not "%LAMEXP_ERROR%"=="0" (
-       call "%~dp0\_error.bat" "FAILD TO SETUP PATHS. CHECK YOUR 'BUILDENV.TXT' FILE"
-       GOTO:EOF
-)
-REM ------------------------------------------
+call "%~dp0\_date.bat"
+
 if "%LAMEXP_CONFIG%"=="" (
        set "LAMEXP_CONFIG=Release"
 )
+
 if not "%LAMEXP_REDIST%"=="0" (
        set "LAMEXP_REDIST=1"
 )
-REM ------------------------------------------
-REM :: SETUP BUILD DATE ::
-REM ------------------------------------------
-call "%~dp0\_date.bat"
-if not "%LAMEXP_ERROR%"=="0" (
-       call "%~dp0\_error.bat" "FAILD TO SETUP BUILD-DATE"
-       GOTO:EOF
-)
-REM ------------------------------------------
-REM :: SETUP PATHS ::
-REM ------------------------------------------
+
+:: ---------------------------------------------------------------------------
+:: SETUP PATHS
+:: ---------------------------------------------------------------------------
+
 set "OUT_PATH=%~dp0\..\..\bin\%LAMEXP_CONFIG%"
 set "TMP_PATH=%TEMP%\~LameXP.%LAMEXP_CONFIG%.%ISO_DATE%.%RANDOM%.tmp"
 set "OBJ_PATH=%~dp0\..\..\obj\%LAMEXP_CONFIG%"
 set "MOC_PATH=%~dp0\..\..\tmp"
 set "IPC_PATH=%~dp0\..\..\ipch"
-REM ------------------------------------------
+
 if "%LAMEXP_SKIP_BUILD%"=="YES" (
        goto SkipBuildThisTime
 )
-REM ------------------------------------------
-REM :: CLEAN UP ::
-REM ------------------------------------------
+
+:: ---------------------------------------------------------------------------
+:: CLEAN UP
+:: ---------------------------------------------------------------------------
+
 del /Q "%OUT_PATH%\*.exe"
 del /Q "%OUT_PATH%\*.dll"
 del /Q "%OBJ_PATH%\*.obj"
@@ -52,102 +50,107 @@ del /Q "%OBJ_PATH%\*.dep"
 del /Q "%MOC_PATH%\*.cpp"
 del /Q "%MOC_PATH%\*.h"
 del /Q /S "%IPC_PATH%\*.*"
-REM ------------------------------------------
-REM :: BUILD BINARIES ::
-REM ------------------------------------------
+
+:: ---------------------------------------------------------------------------
+:: UPDATE LANGUAGE FILES AND DCOS
+:: ---------------------------------------------------------------------------
+
+call "%~dp0\_mkdocs.bat"
 call "%~dp0\_lupdate.bat"
+
+:: ---------------------------------------------------------------------------
+:: BUILD THE BINARIES
+:: ---------------------------------------------------------------------------
+
 call "%~dp0\_build.bat" "%~dp0\..\..\%PATH_VCPROJ%" "%LAMEXP_CONFIG%"
-if not "%LAMEXP_ERROR%"=="0" (
-       call "%~dp0\_error.bat" "BUILD HAS FAILED"
-       GOTO:EOF
-)
-REM ------------------------------------------
+
 :SkipBuildThisTime
-REM ------------------------------------------
-REM :: READ VERSION INFO ::
-REM ------------------------------------------
+
+:: ---------------------------------------------------------------------------
+:: READ VERSION INFO
+:: ---------------------------------------------------------------------------
+
 call "%~dp0\_version.bat"
-if not "%LAMEXP_ERROR%"=="0" (
-       call "%~dp0\_error.bat" "FAILD TO READ VERSION INFO!"
-       GOTO:EOF
-)
-REM ------------------------------------------
+
+:: ---------------------------------------------------------------------------
+:: 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"
 )
-REM ------------------------------------------
-REM :: DELETE OLD OUTPUT FILE ::
-REM ------------------------------------------
-del "%OUT_FILE%.exe"
-del "%OUT_FILE%.sfx"
-del "%OUT_FILE%.zip"
-del "%OUT_FILE%.txt"
-REM ------------------------------------------
-if exist "%OUT_FILE%.exe" (
-       call "%~dp0\_error.bat" "FAILD TO DELET EXISTING FILE"
-       GOTO:EOF
-)
-if exist "%OUT_FILE%.zip" (
-       call "%~dp0\_error.bat" "FAILD TO DELET EXISTING FILE"
-       GOTO:EOF
+
+:: ---------------------------------------------------------------------------
+:: DELETE OLD OUTPUT FILE
+:: ---------------------------------------------------------------------------
+
+for %%i in (exe,sfx,zip,txt) do (
+       del "%OUT_FILE%.%%i" 2> NUL
+       if exist "%OUT_FILE%.%%i" (
+               echo. && echo Failed to delete existing output file^^!
+               echo. && pause && exit
+       )
 )
-REM ------------------------------------------
-REM :: POST BUILD ::
-REM ------------------------------------------
+
+:: ---------------------------------------------------------------------------
+:: POST BUILD OPERATIONS
+:: ---------------------------------------------------------------------------
+
 rd /S /Q "%TMP_PATH%"
 mkdir "%TMP_PATH%"
-copy "%OUT_PATH%\*.exe" "%TMP_PATH%"
-REM ------------------------------------------
+
+for %%i in (exe,dll) do (
+       copy "%OUT_PATH%\*.%%i" "%TMP_PATH%"
+)
+
 if "%LAMEXP_REDIST%"=="1" (
-       copy "%QTDIR%\bin\QtCore4.dll" "%TMP_PATH%"
-       copy "%QTDIR%\bin\QtGui4.dll" "%TMP_PATH%"
-       copy "%QTDIR%\bin\QtXml4.dll" "%TMP_PATH%"
-       copy "%QTDIR%\bin\QtSvg4.dll" "%TMP_PATH%"
        mkdir "%TMP_PATH%\imageformats"
+       for %%i in (Core,Gui,Network,Xml,Svg) do (
+               copy "%QTDIR%\bin\Qt%%i4.dll" "%TMP_PATH%"
+       )
        copy "%QTDIR%\plugins\imageformats\q???4.dll" "%TMP_PATH%\imageformats"
+       for %%i in (100,110,120) do (
+               if exist %PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%%i.CRT\*.dll" (
+                       copy "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%%i.CRT\*.dll" "%TMP_PATH%"
+               )
+       )
 )
-REM ------------------------------------------
-if "%LAMEXP_SKIP_BUILD%"=="YES" (
-       goto SkipPackingThisTime
-)
-REM ------------------------------------------
-for %%f in ("%TMP_PATH%\*.exe") do (
-       "%PATH_UPXBIN%\upx.exe" --best "%%f"
-)
-for %%f in ("%TMP_PATH%\*.dll") do (
-       "%PATH_UPXBIN%\upx.exe" --best "%%f"
+
+for %%e in (exe,dll) do (
+       for %%f in (%TMP_PATH%\*.%%e) do (
+               "%PATH_UPXBIN%\upx.exe" --best "%%f"
+       )
 )
-REM ------------------------------------------
-:SkipPackingThisTime
-REM ------------------------------------------
+
 if exist "%~dp0\_postproc.bat" (
        call "%~dp0\_postproc.bat" "%TMP_PATH%"
 )
-REM ------------------------------------------
-if "%LAMEXP_REDIST%"=="1" (
-       copy "..\Redist\*.*" "%TMP_PATH%"
-)
-copy "%~dp0\..\..\ReadMe.txt" "%TMP_PATH%"
-copy "%~dp0\..\..\License.txt" "%TMP_PATH%"
-copy "%~dp0\..\..\Copying.txt" "%TMP_PATH%"
+
+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%"
+copy "%~dp0\..\..\doc\Manual.html"    "%TMP_PATH%"
+copy "%~dp0\..\..\doc\FAQ.html"       "%TMP_PATH%"
+
 if not "%VER_LAMEXP_TYPE%" == "Final" (
        if not "%VER_LAMEXP_TYPE%" == "Hotfix" (
                copy "%~dp0\..\..\doc\PRE_RELEASE_INFO.txt" "%TMP_PATH%"
        )
 )
+
 attrib +R "%TMP_PATH%\*.txt"
 attrib +R "%TMP_PATH%\*.html"
 attrib +R "%TMP_PATH%\*.exe"
-REM ------------------------------------------
-REM :: CREATE PACKAGES ::
-REM ------------------------------------------
+
+:: ---------------------------------------------------------------------------
+:: CREATE PACKAGES
+:: ---------------------------------------------------------------------------
+
 "%~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"
@@ -155,39 +158,43 @@ REM ------------------------------------------
 "%~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"
-REM ------------------------------------------
+
 pushd "%TMP_PATH%"
 "%~dp0\..\Utilities\Zip.exe" -r -9 -z "%OUT_FILE%.zip" "*.*" < "%OUT_FILE%.txt"
 popd
-REM ------------------------------------------
+
 "%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_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.sfx" "/DLAMEXP_SOURCE_PATH=%TMP_PATH%" "%~dp0\..\NSIS\setup.nsi"
 "%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_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.exe" "/DLAMEXP_SOURCE_FILE=%OUT_FILE%.sfx" "%~dp0\..\NSIS\wrapper.nsi"
-REM ------------------------------------------
+
 attrib -R "%TMP_PATH%\*.txt"
 attrib -R "%TMP_PATH%\*.html"
 attrib -R "%TMP_PATH%\*.exe"
 rd /S /Q "%TMP_PATH%"
-REM ------------------------------------------
-if not exist "%OUT_FILE%.zip" (
-       call "%~dp0\_error.bat" "PACKAGING HAS FAILED"
-       GOTO:EOF
-)
-if not exist "%OUT_FILE%.exe" (
-       call "%~dp0\_error.bat" "PACKAGING HAS FAILED"
-       GOTO:EOF
+
+for %%i in (zip,exe) do (
+       if not exist "%OUT_FILE%.zip" (
+               echo. && echo Failed to create release packages^^!
+               echo. && pause && exit
+       )
 )
-REM ------------------------------------------
+
 attrib +R "%OUT_FILE%.zip"
 attrib +R "%OUT_FILE%.sfx"
 attrib +R "%OUT_FILE%.exe"
-REM ------------------------------------------
-REM :: CREATE SIGNATURE ::
-REM ------------------------------------------
+
+:: ---------------------------------------------------------------------------
+:: SIGN OUTPUT FILE
+:: ---------------------------------------------------------------------------
+
 "%PATH_GNUPG1%\gpg.exe" --detach-sign "%OUT_FILE%.exe"
 attrib +R "%OUT_FILE%.exe.sig"
-REM ------------------------------------------
+
+:: ---------------------------------------------------------------------------
+:: COMPLETED
+:: ---------------------------------------------------------------------------
+
 echo.
 echo BUIDL COMPLETED SUCCESSFULLY :-)
 echo.
-REM ------------------------------------------
+
 pause