Notepad3/Build/make_zip.bat
Derick Payne b147e7c276 MiniPath now included in Setup
MiniPath now included in Setup. Change the main license file to include
MiniPath (metpath)
2015-11-17 16:17:35 +02:00

175 lines
5.0 KiB
Batchfile

@ECHO OFF
rem ******************************************************************************
rem *
rem * Notepad3
rem *
rem * make_zip.bat
rem * Batch file for creating the zip packages
rem *
rem * See License.txt for details about distribution and modification.
rem *
rem * (c) Rizonesoft 2008-2016
rem * https://rizonesoft.com
rem *
rem ******************************************************************************
SETLOCAL ENABLEEXTENSIONS
CD /D %~dp0
rem Check for the help switches
IF /I "%~1" == "help" GOTO SHOWHELP
IF /I "%~1" == "/help" GOTO SHOWHELP
IF /I "%~1" == "-help" GOTO SHOWHELP
IF /I "%~1" == "--help" GOTO SHOWHELP
IF /I "%~1" == "/?" GOTO SHOWHELP
rem IF EXIST "%~dp0..\signinfo_notepad3.txt" SET "SIGN=True"
SET INPUTDIRx86=bin\Release_x86
SET INPUTDIRx64=bin\Release_x64
SET "TEMP_NAME=temp_zip"
IF NOT EXIST "..\%INPUTDIRx86%\Notepad3.exe" CALL :SUBMSG "ERROR" "Compile Notepad3 x86 first!"
IF NOT EXIST "..\%INPUTDIRx86%\minipath.exe" CALL :SUBMSG "ERROR" "Compile MiniPath x86 first!"
IF NOT EXIST "..\%INPUTDIRx64%\Notepad3.exe" CALL :SUBMSG "ERROR" "Compile Notepad3 x64 first!"
IF NOT EXIST "..\%INPUTDIRx64%\minipath.exe" CALL :SUBMSG "ERROR" "Compile MiniPath x64 first!"
CALL :SubGetVersion
CALL :SubDetectSevenzipPath
IF /I "%SEVENZIP%" == "" CALL :SUBMSG "ERROR" "7za wasn't found!"
REM IF /I "%SIGN%" == "True" CALL :SubSign %INPUTDIRx86%
REM IF /I "%SIGN%" == "True" CALL :SubSign %INPUTDIRx64%
CALL :SubZipFiles %INPUTDIRx86% x86
CALL :SubZipFiles %INPUTDIRx64% x64
rem Compress everything into a single ZIP file
PUSHD "packages"
IF EXIST "Notepad3.zip" DEL "Notepad3.zip"
IF EXIST "%TEMP_NAME%" RD /S /Q "%TEMP_NAME%"
IF NOT EXIST "%TEMP_NAME%" MD "%TEMP_NAME%"
IF EXIST "Notepad3-%NP2_VER%*.exe" COPY /Y /V "Notepad3-%NP2_VER%*.exe" "%TEMP_NAME%\" >NUL
IF EXIST "Notepad3-%NP2_VER%*.zip" COPY /Y /V "Notepad3-%NP2_VER%*.zip" "%TEMP_NAME%\" >NUL
PUSHD "%TEMP_NAME%"
"%SEVENZIP%" a -tzip -mx=9 Notepad3.zip * >NUL
IF %ERRORLEVEL% NEQ 0 CALL :SUBMSG "ERROR" "Compilation failed!"
CALL :SUBMSG "INFO" "Notepad3.zip created successfully!"
MOVE /Y "Notepad3.zip" ".." >NUL
POPD
IF EXIST "%TEMP_NAME%" RD /S /Q "%TEMP_NAME%"
POPD
:END
TITLE Finished!
ECHO.
ENDLOCAL
EXIT /B
:SubZipFiles
SET "ZIP_NAME=Notepad3-%NP2_VER%_%2%SUFFIX%"
TITLE Creating %ZIP_NAME%.zip...
CALL :SUBMSG "INFO" "Creating %ZIP_NAME%.zip..."
IF EXIST "%TEMP_NAME%" RD /S /Q "%TEMP_NAME%"
IF NOT EXIST "%TEMP_NAME%" MD "%TEMP_NAME%"
IF NOT EXIST "packages" MD "packages"
FOR %%A IN ("..\License.txt" "..\%1\Notepad3.exe"^
"..\distrib\Notepad3.ini" "..\distrib\Readme.txt"^
"..\%1\minipath.exe"
) DO COPY /Y /V "%%A" "%TEMP_NAME%\"
SET "FAVORITES=%TEMP_NAME%\Favorites"
IF NOT EXIST "%FAVORITES%" MD "%FAVORITES%"
PUSHD "%TEMP_NAME%"
"%SEVENZIP%" a -tzip -mx=9^
"%ZIP_NAME%.zip" "License.txt" "Notepad3.exe"^
"Notepad3.ini" "Readme.txt" "Favorites" "minipath.exe">NUL
IF %ERRORLEVEL% NEQ 0 CALL :SUBMSG "ERROR" "Compilation failed!"
CALL :SUBMSG "INFO" "%ZIP_NAME%.zip created successfully!"
MOVE /Y "%ZIP_NAME%.zip" "..\packages" >NUL
POPD
IF EXIST "%TEMP_NAME%" RD /S /Q "%TEMP_NAME%"
EXIT /B
:SubDetectSevenzipPath
FOR %%G IN (7z.exe) DO (SET "SEVENZIP_PATH=%%~$PATH:G")
IF EXIST "%SEVENZIP_PATH%" (SET "SEVENZIP=%SEVENZIP_PATH%" & EXIT /B)
FOR %%G IN (7za.exe) DO (SET "SEVENZIP_PATH=%%~$PATH:G")
IF EXIST "%SEVENZIP_PATH%" (SET "SEVENZIP=%SEVENZIP_PATH%" & EXIT /B)
FOR /F "tokens=2*" %%A IN (
'REG QUERY "HKLM\SOFTWARE\7-Zip" /v "Path" 2^>NUL ^| FIND "REG_SZ" ^|^|
REG QUERY "HKLM\SOFTWARE\Wow6432Node\7-Zip" /v "Path" 2^>NUL ^| FIND "REG_SZ"') DO SET "SEVENZIP=%%B\7z.exe"
EXIT /B
:SubGetVersion
rem Get the version
FOR /F "tokens=3,4 delims= " %%K IN (
'FINDSTR /I /L /C:"define VERSION_MAJOR" "..\src\VersionEx.h"') DO (SET "VerMajor=%%K")
FOR /F "tokens=3,4 delims= " %%K IN (
'FINDSTR /I /L /C:"define VERSION_MINOR" "..\src\VersionEx.h"') DO (SET "VerMinor=%%K")
FOR /F "tokens=3,4 delims= " %%K IN (
'FINDSTR /I /L /C:"define VERSION_REV" "..\src\VersionEx.h"') DO (SET "VerRev=%%K")
FOR /F "tokens=3,4 delims= " %%K IN (
'FINDSTR /I /L /C:"define VERSION_BUILD" "..\src\VersionEx.h"') DO (SET "VerBuild=%%K")
SET NP2_VER=%VerMajor%.%VerMinor%.%VerRev%.%VerBuild%
EXIT /B
:SubSign
REM IF %ERRORLEVEL% NEQ 0 EXIT /B
REM %1 is the subfolder
REM CALL "%~dp0sign.bat" "..\%1\Notepad2.exe" || (CALL :SUBMSG "ERROR" "Problem signing ..\%1\Notepad2.exe" & GOTO Break)
REM CALL :SUBMSG "INFO" "..\%1\Notepad2.exe signed successfully."
REM :Break
REM EXIT /B
:SHOWHELP
TITLE %~nx0 %1
ECHO. & ECHO.
ECHO Usage: %~nx0 [VS2010^|VS2012^|VS2013^|VS2015^|WDK]
ECHO.
ECHO Notes: You can also prefix the commands with "-", "--" or "/".
ECHO The arguments are not case sensitive.
ECHO. & ECHO.
ECHO Executing %~nx0 without any arguments is equivalent to "%~nx0 WDK"
ECHO.
ENDLOCAL
EXIT /B
:SUBMSG
ECHO. & ECHO ______________________________
ECHO [%~1] %~2
ECHO ______________________________ & ECHO.
IF /I "%~1" == "ERROR" (
PAUSE
EXIT
) ELSE (
EXIT /B
)