mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Major cleanup of the Windows installer build script.
This commit is contained in:
parent
6492dacbb2
commit
e1a3caa780
420
Make.bat
420
Make.bat
@ -1,63 +1,55 @@
|
|||||||
@ECHO off
|
@ECHO off
|
||||||
SETLOCAL
|
SETLOCAL
|
||||||
REM
|
|
||||||
REM ****************************************************************
|
|
||||||
SET WD=%CD%
|
SET WD=%CD%
|
||||||
SET "PGBUILDPATH=%WD%\win-build"
|
SET "PGBUILDPATH=%WD%\win-build"
|
||||||
|
|
||||||
SET CMDOPTION=""
|
SET CMDOPTION=""
|
||||||
IF "%1" == "clean" SET CMDOPTION="VALID"
|
IF "%1" == "clean" SET CMDOPTION="VALID"
|
||||||
IF "%1" == "x86" SET CMDOPTION="VALID"
|
IF "%1" == "x86" SET CMDOPTION="VALID"
|
||||||
|
|
||||||
IF NOT %CMDOPTION%=="VALID" ( GOTO USAGE )
|
IF NOT %CMDOPTION%=="VALID" (
|
||||||
|
GOTO USAGE
|
||||||
|
)
|
||||||
|
|
||||||
SET ARCHITECTURE=%1
|
SET ARCHITECTURE=%1
|
||||||
|
|
||||||
IF "%ARCHITECTURE%"=="clean" (
|
IF "%ARCHITECTURE%"=="clean" (
|
||||||
GOTO CLEAN_RELEASE
|
CALL :CLEAN
|
||||||
GOTO EXIT
|
EXIT /B %ERRORLEVEL%
|
||||||
)
|
)
|
||||||
|
|
||||||
REM Main Functions
|
|
||||||
|
|
||||||
CALL :SET_PGADMIN4_ENVIRONMENT
|
REM Main build sequence
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
CALL :SET_ENVIRONMENT
|
||||||
|
CALL :VALIDATE_ENVIRONMENT || EXIT /B %ERRORLEVEL%
|
||||||
|
CALL :CLEAN || EXIT /B %ERRORLEVEL%
|
||||||
|
CALL :CREATE_VIRTUAL_ENV || EXIT /B %ERRORLEVEL%
|
||||||
|
CALL :CREATE_RUNTIME_ENV || EXIT /B %ERRORLEVEL%
|
||||||
|
CALL :CREATE_PYTHON_ENV || EXIT /B %ERRORLEVEL%
|
||||||
|
CALL :CLEANUP_ENV || EXIT /B %ERRORLEVEL%
|
||||||
|
CALL :CREATE_INSTALLER || EXIT /B %ERRORLEVEL%
|
||||||
|
CALL :SIGN_INSTALLER || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
CALL :VALIDATE_ENVIRONMENT
|
EXIT /B %ERRORLEVEL%
|
||||||
|
REM Main build sequence Ends
|
||||||
|
|
||||||
CALL :CLEAN_RELEASE
|
|
||||||
|
|
||||||
CALL :CREATE_VIRTUAL_ENV
|
:CLEAN
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
ECHO Removing build directory...
|
||||||
|
IF EXIST "%PGBUILDPATH%" RD "%PGBUILDPATH%" /S /Q > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
CALL :CREATE_RUNTIME_ENV
|
ECHO Removing temp build directory...
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
IF EXIST "%WD%\pkg\win32\Output" rd "%WD%\pkg\win32\Output" /S /Q > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
CALL :CREATE_PYTHON_ENV
|
ECHO Removing installer configuration script...
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
IF EXIST DEL /q "%WD%\pkg\win32\installer.iss" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
CALL :CLEANUP_ENV
|
EXIT /B 0
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
CALL :CREATE_INSTALLER
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
CALL :SIGN_INSTALLER
|
:SET_ENVIRONMENT
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
ECHO Configuring the environment...
|
||||||
|
|
||||||
CD %WD%
|
|
||||||
GOTO EXIT
|
|
||||||
REM Main function Ends
|
|
||||||
|
|
||||||
:CLEAN_RELEASE
|
|
||||||
ECHO Calling clean target...
|
|
||||||
IF EXIST "%PGBUILDPATH%" rd "%PGBUILDPATH%" /S /Q
|
|
||||||
|
|
||||||
FOR /R "%WD%" %%f in (*.pyc *.pyo) do DEL /q "%%f" > nul
|
|
||||||
IF EXIST "%WD%\pkg\win32\Output" rd "%WD%\pkg\win32\Output" /S /Q
|
|
||||||
IF EXIST DEL /q "%WD%\pkg\win32\installer.iss" > nul
|
|
||||||
CD %WD%
|
|
||||||
GOTO:eof
|
|
||||||
|
|
||||||
:SET_PGADMIN4_ENVIRONMENT
|
|
||||||
IF "%PYTHON_HOME%" == "" SET "PYTHON_HOME=C:\Python27"
|
IF "%PYTHON_HOME%" == "" SET "PYTHON_HOME=C:\Python27"
|
||||||
IF "%PYTHON_DLL%" == "" SET "PYTHON_DLL=C:\Windows\SysWOW64\python27.dll"
|
IF "%PYTHON_DLL%" == "" SET "PYTHON_DLL=C:\Windows\SysWOW64\python27.dll"
|
||||||
IF "%QTDIR%" == "" SET "QTDIR=C:\Qt\5.9.1\mingw53_32"
|
IF "%QTDIR%" == "" SET "QTDIR=C:\Qt\5.9.1\mingw53_32"
|
||||||
@ -73,8 +65,8 @@ REM Main function Ends
|
|||||||
REM Set additional variables we need
|
REM Set additional variables we need
|
||||||
SET "QMAKE=%QTDIR%\bin\qmake.exe"
|
SET "QMAKE=%QTDIR%\bin\qmake.exe"
|
||||||
FOR /F "tokens=4,5 delims=. " %%a IN ('%QMAKE% -v ^| findstr /B /C:"Using Qt version "') DO SET QT_VERSION=%%a.%%b
|
FOR /F "tokens=4,5 delims=. " %%a IN ('%QMAKE% -v ^| findstr /B /C:"Using Qt version "') DO SET QT_VERSION=%%a.%%b
|
||||||
SET "VIRTUALENV=venv"
|
|
||||||
|
|
||||||
|
SET "VIRTUALENV=venv"
|
||||||
SET "TARGET_DIR=%WD%\dist"
|
SET "TARGET_DIR=%WD%\dist"
|
||||||
|
|
||||||
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_RELEASE =" %WD%\web\config.py') DO SET APP_MAJOR=%%a
|
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_RELEASE =" %WD%\web\config.py') DO SET APP_MAJOR=%%a
|
||||||
@ -89,12 +81,13 @@ REM Main function Ends
|
|||||||
SET INSTALLERNAME=%APP_SHORTNAME%-%APP_MAJOR%.%APP_MINOR%-%APP_VERSION_SUFFIX%-%ARCHITECTURE%.exe
|
SET INSTALLERNAME=%APP_SHORTNAME%-%APP_MAJOR%.%APP_MINOR%-%APP_VERSION_SUFFIX%-%ARCHITECTURE%.exe
|
||||||
IF "%APP_VERSION_SUFFIX%" == "" SET INSTALLERNAME=%APP_SHORTNAME%-%APP_MAJOR%.%APP_MINOR%-%ARCHITECTURE%.exe
|
IF "%APP_VERSION_SUFFIX%" == "" SET INSTALLERNAME=%APP_SHORTNAME%-%APP_MAJOR%.%APP_MINOR%-%ARCHITECTURE%.exe
|
||||||
|
|
||||||
REM get Python version ex. 2.7.1 will get as 27
|
REM get Python version for the runtime build ex. 2.7.1 will be 27
|
||||||
FOR /f "tokens=1 DELims=." %%G IN ('%PYTHON_HOME%/python.exe -c "import sys; print(sys.version.split(' ')[0])"') DO SET PYTHON_MAJOR=%%G
|
FOR /f "tokens=1 DELims=." %%G IN ('%PYTHON_HOME%/python.exe -c "import sys; print(sys.version.split(' ')[0])"') DO SET PYTHON_MAJOR=%%G
|
||||||
FOR /f "tokens=2 DELims=." %%G IN ('%PYTHON_HOME%/python.exe -c "import sys; print(sys.version.split(' ')[0])"') DO SET PYTHON_MINOR=%%G
|
FOR /f "tokens=2 DELims=." %%G IN ('%PYTHON_HOME%/python.exe -c "import sys; print(sys.version.split(' ')[0])"') DO SET PYTHON_MINOR=%%G
|
||||||
SET "PYTHON_VERSION=%PYTHON_MAJOR%%PYTHON_MINOR%"
|
SET "PYTHON_VERSION=%PYTHON_MAJOR%%PYTHON_MINOR%"
|
||||||
|
|
||||||
GOTO:eof
|
EXIT /B 0
|
||||||
|
|
||||||
|
|
||||||
:VALIDATE_ENVIRONMENT
|
:VALIDATE_ENVIRONMENT
|
||||||
ECHO ****************************************************************
|
ECHO ****************************************************************
|
||||||
@ -109,7 +102,6 @@ REM Main function Ends
|
|||||||
ECHO Python version: %PYTHON_VERSION%
|
ECHO Python version: %PYTHON_VERSION%
|
||||||
ECHO Python major version: %PYTHON_MAJOR%
|
ECHO Python major version: %PYTHON_MAJOR%
|
||||||
ECHO Python minor version: %PYTHON_MINOR%
|
ECHO Python minor version: %PYTHON_MINOR%
|
||||||
ECHO Virtual environment: %VIRTUALENV%
|
|
||||||
ECHO.
|
ECHO.
|
||||||
ECHO Qt home: %QTDIR%
|
ECHO Qt home: %QTDIR%
|
||||||
ECHO qmake executable: %QMAKE%
|
ECHO qmake executable: %QMAKE%
|
||||||
@ -131,73 +123,110 @@ REM Main function Ends
|
|||||||
ECHO App name: %APP_NAME%
|
ECHO App name: %APP_NAME%
|
||||||
ECHO ****************************************************************
|
ECHO ****************************************************************
|
||||||
|
|
||||||
REM Check IF path SET in environment really exist or not ?
|
ECHO Checking the environment...
|
||||||
IF NOT EXIST "%INNOTOOL%" GOTO err_handle_inno
|
IF NOT EXIST "%INNOTOOL%" (
|
||||||
IF NOT EXIST "%VCREDIST%" GOTO err_handle_vcredist
|
ECHO %INNOTOOL% does not exist
|
||||||
IF NOT EXIST "%QTDIR%" GOTO err_handle_qt
|
ECHO Please install Innotool and set the INNOTOOL environment variable.
|
||||||
IF NOT EXIST "%QMAKE%" GOTO err_handle_qt
|
EXIT /B 1
|
||||||
IF NOT EXIST "%PYTHON_HOME%" GOTO err_handle_python
|
)
|
||||||
IF NOT EXIST "%PYTHON_DLL%" GOTO err_handle_python
|
|
||||||
IF NOT EXIST "%PGDIR%" GOTO err_handle_pg
|
|
||||||
|
|
||||||
IF NOT EXIST "%PYTHON_HOME%\Scripts\virtualenv.exe" GOTO err_handle_pythonvirtualenv
|
IF NOT EXIST "%VCREDIST%" (
|
||||||
|
ECHO %VCREDIST% does not exist
|
||||||
|
ECHO Please install Microsoft Visual studio and set the VCREDIST environment variable.
|
||||||
|
EXIT /B 1
|
||||||
|
)
|
||||||
|
|
||||||
|
IF NOT EXIST "%QTDIR%" (
|
||||||
|
ECHO %QTDIR% does not exist.
|
||||||
|
ECHO Please install Qt and set the QTDIR environment variable.
|
||||||
|
EXIT /B 1
|
||||||
|
)
|
||||||
|
|
||||||
|
IF NOT EXIST "%QMAKE%" (
|
||||||
|
ECHO %QMAKE% does not exist.
|
||||||
|
ECHO Please install Qt and set the QTDIR environment variable.
|
||||||
|
EXIT /B 1
|
||||||
|
)
|
||||||
|
|
||||||
|
IF NOT EXIST "%PYTHON_HOME%" (
|
||||||
|
ECHO %PYTHON_HOME% does not exist.
|
||||||
|
ECHO Please install Python and set the PYTHON_HOME environment variable.
|
||||||
|
EXIT /B 1
|
||||||
|
)
|
||||||
|
|
||||||
|
IF NOT EXIST "%PYTHON_DLL%" (
|
||||||
|
ECHO %PYTHON_DLL% does not exist.
|
||||||
|
ECHO Please install Python and set the PYTHON_DLL environment variable.
|
||||||
|
EXIT /B 1
|
||||||
|
)
|
||||||
|
|
||||||
|
IF NOT EXIST "%PGDIR%" (
|
||||||
|
ECHO %PGDIR% does not exist.
|
||||||
|
ECHO Please install PostgreSQL and set the PGDIR environment variable.
|
||||||
|
EXIT /B 1
|
||||||
|
)
|
||||||
|
|
||||||
|
IF NOT EXIST "%PYTHON_HOME%\Scripts\virtualenv.exe" (
|
||||||
|
ECHO %PYTHON_HOME%\Scripts\virtualenv.exe does not exist.
|
||||||
|
ECHO Please install the virtualenv package in Python.
|
||||||
|
EXIT /B 1
|
||||||
|
)
|
||||||
|
|
||||||
SET PATH=%PGDIR%\bin;%PATH%;
|
SET PATH=%PGDIR%\bin;%PATH%;
|
||||||
GOTO:eof
|
|
||||||
|
EXIT /B 0
|
||||||
|
|
||||||
|
|
||||||
:CREATE_VIRTUAL_ENV
|
:CREATE_VIRTUAL_ENV
|
||||||
ECHO Creating Virtual Enviroment...
|
ECHO Creating virtual environment...
|
||||||
IF NOT EXIST "%PGBUILDPATH%" MKDIR "%PGBUILDPATH%"
|
IF NOT EXIST "%PGBUILDPATH%" MKDIR "%PGBUILDPATH%"
|
||||||
|
|
||||||
CD "%PGBUILDPATH%"
|
CD "%PGBUILDPATH%"
|
||||||
"%PYTHON_HOME%\Scripts\virtualenv.exe" "%VIRTUALENV%"
|
"%PYTHON_HOME%\Scripts\virtualenv.exe" "%VIRTUALENV%"
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
ECHO Activating Virtual Enviroment - %PGBUILDPATH%\%VIRTUALENV%\Scripts\activate...
|
ECHO Activating virtual environment - %PGBUILDPATH%\%VIRTUALENV%...
|
||||||
CALL "%PGBUILDPATH%\%VIRTUALENV%\Scripts\activate"
|
CALL "%PGBUILDPATH%\%VIRTUALENV%\Scripts\activate" || EXIT /B %ERRORLEVEL%
|
||||||
SET PATH=%PGDIR%\bin;%PATH%
|
SET PATH=%PGDIR%\bin;%PATH%
|
||||||
|
|
||||||
ECHO Installing dependencies...
|
ECHO Installing dependencies...
|
||||||
pip install -r "%WD%\requirements.txt"
|
pip install -r "%WD%\requirements.txt" || EXIT /B %ERRORLEVEL%
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
pip install sphinx || EXIT /B %ERRORLEVEL%
|
||||||
pip install sphinx
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
ECHO Virtual Environment created successfully.
|
|
||||||
|
|
||||||
ECHO Deactivating Virtual Enviroment - %PGBUILDPATH%\%VIRTUALENV%\Scripts\deactivate...
|
ECHO Deactivating Virtual Enviroment - %PGBUILDPATH%\%VIRTUALENV%\Scripts\deactivate...
|
||||||
CALL "%PGBUILDPATH%\%VIRTUALENV%\Scripts\deactivate"
|
CALL "%PGBUILDPATH%\%VIRTUALENV%\Scripts\deactivate"
|
||||||
|
|
||||||
CD %WD%
|
CD %WD%
|
||||||
GOTO:eof
|
EXIT /B 0
|
||||||
|
|
||||||
|
|
||||||
:CREATE_RUNTIME_ENV
|
:CREATE_RUNTIME_ENV
|
||||||
ECHO Compiling source code...
|
MKDIR "%PGBUILDPATH%\runtime"
|
||||||
MKDIR "%PGBUILDPATH%\runtime" > nul
|
|
||||||
|
|
||||||
REM --- Processing WEB ---
|
|
||||||
CD "%WD%\web"
|
CD "%WD%\web"
|
||||||
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
ECHO Installing javascript dependencies...
|
||||||
|
CALL yarn install || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
ECHO Install Javascript dependencies
|
ECHO Bundling javascript...
|
||||||
call yarn install
|
CALL yarn run bundle || EXIT /B %ERRORLEVEL%
|
||||||
ECHO Bundle all Javascript
|
|
||||||
call yarn run bundle
|
|
||||||
|
|
||||||
REM Remove any cache
|
ECHO Removing webpack caches...
|
||||||
RD /Q /S "%WD%\web\pgadmin\static\js\generated\.cache"
|
RD /Q /S "%WD%\web\pgadmin\static\js\generated\.cache" 1> nul 2>&1
|
||||||
|
|
||||||
XCOPY /S /I /E /H /Y "%WD%\web" "%PGBUILDPATH%\web" > nul
|
ECHO Copying web directory...
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
XCOPY /S /I /E /H /Y "%WD%\web" "%PGBUILDPATH%\web" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
REM Clean up .pyc, .pyo, pgadmin4.db, config_local.py
|
ECHO Cleaning up unnecessary .pyc and .pyo files...
|
||||||
ECHO Cleaning up unnecessary files...
|
FOR /R "%PGBUILDPATH%\web" %%f in (*.pyc *.pyo) do DEL /q "%%f" 1> nul 2>&1
|
||||||
FOR /R "%PGBUILDPATH%\web" %%f in (*.pyc *.pyo) do DEL /q "%%f"
|
ECHO Removing tests, Python caches and node modules...
|
||||||
FOR /R "%PGBUILDPATH%\web" %%f in (tests feature_tests __pycache__ node_modules) do RD /Q /S "%%f"
|
FOR /R "%PGBUILDPATH%\web" %%f in (tests feature_tests __pycache__ node_modules) do RD /Q /S "%%f" 1> nul 2>&1
|
||||||
RD /Q /S "%PGBUILDPATH%\web\regression"
|
ECHO Removing the test framework...
|
||||||
RD /Q /S "%PGBUILDPATH%\web\tools"
|
RD /Q /S "%PGBUILDPATH%\web\regression" 1> nul 2>&1
|
||||||
DEL /q "%PGBUILDPATH%\web\pgadmin4.db"
|
ECHO Removing tools...
|
||||||
DEL /q "%PGBUILDPATH%\web\config_local.py"
|
RD /Q /S "%PGBUILDPATH%\web\tools" 1> nul 2>&1
|
||||||
|
ECHO Removing any existing configurations...
|
||||||
|
DEL /q "%PGBUILDPATH%\web\pgadmin4.db" 1> nul 2>&1
|
||||||
|
DEL /q "%PGBUILDPATH%\web\config_local.py" 1> nul 2>&1
|
||||||
|
|
||||||
ECHO Creating config_distro.py
|
ECHO Creating config_distro.py
|
||||||
ECHO SERVER_MODE = False > "%PGBUILDPATH%\web\config_distro.py"
|
ECHO SERVER_MODE = False > "%PGBUILDPATH%\web\config_distro.py"
|
||||||
@ -212,14 +241,9 @@ REM Main function Ends
|
|||||||
|
|
||||||
ECHO Building docs...
|
ECHO Building docs...
|
||||||
MKDIR "%PGBUILDPATH%\docs\en_US\html"
|
MKDIR "%PGBUILDPATH%\docs\en_US\html"
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
CD "%WD%\docs\en_US"
|
CD "%WD%\docs\en_US"
|
||||||
"%PGBUILDPATH%\%VIRTUALENV%\Scripts\python.exe" build_code_snippet.py
|
"%PGBUILDPATH%\%VIRTUALENV%\Scripts\python.exe" build_code_snippet.py || EXIT /B %ERRORLEVEL%
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
"%PGBUILDPATH%\%VIRTUALENV%\Scripts\sphinx-build.exe" "%WD%\docs\en_US" "%PGBUILDPATH%\docs\en_US\html" || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
"%PGBUILDPATH%\%VIRTUALENV%\Scripts\sphinx-build.exe" "%WD%\docs\en_US" "%PGBUILDPATH%\docs\en_US\html"
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
ECHO Removing Sphinx
|
ECHO Removing Sphinx
|
||||||
pip uninstall -y sphinx Pygments alabaster colorama docutils imagesize requests snowballstemmer
|
pip uninstall -y sphinx Pygments alabaster colorama docutils imagesize requests snowballstemmer
|
||||||
@ -231,110 +255,82 @@ REM Main function Ends
|
|||||||
|
|
||||||
ECHO Assembling runtime environment...
|
ECHO Assembling runtime environment...
|
||||||
CD "%WD%\runtime"
|
CD "%WD%\runtime"
|
||||||
|
|
||||||
|
ECHO Running qmake...
|
||||||
|
CALL "%QMAKE%" || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
|
ECHO Cleaning the build directory...
|
||||||
|
CALL %MAKE% clean || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
|
ECHO Running make...
|
||||||
|
CALL mingw32-make.exe || EXIT /B %ERRORLEVEL%
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
CALL "%QMAKE%"
|
ECHO Staging pgAdmin4.exe...
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
COPY "%WD%\runtime\release\pgAdmin4.exe" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
CALL %MAKE% clean
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
CALL mingw32-make.exe
|
|
||||||
IF ERRORLEVEL 1 GOTO ERR_HANDLER
|
|
||||||
|
|
||||||
REM Copy binary to Release Folder
|
|
||||||
copy "%WD%\runtime\release\pgAdmin4.exe" "%PGBUILDPATH%\runtime"
|
|
||||||
IF ERRORLEVEL 1 GOTO ERR_HANDLER
|
|
||||||
|
|
||||||
REM Copy QT dependences
|
|
||||||
copy "%QTDIR%\bin\Qt5Core.dll" "%PGBUILDPATH%\runtime"
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
copy "%QTDIR%\bin\Qt5Gui.dll" "%PGBUILDPATH%\runtime"
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
copy "%QTDIR%\bin\Qt5Widgets.dll" "%PGBUILDPATH%\runtime"
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
copy "%QTDIR%\bin\Qt5Network.dll" "%PGBUILDPATH%\runtime"
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
copy "%QTDIR%\bin\libgcc_s_dw2-1.dll" "%PGBUILDPATH%\runtime"
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
copy "%QTDIR%\bin\libstdc++-6.dll" "%PGBUILDPATH%\runtime"
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
copy "%QTDIR%\bin\libwinpthread-1.dll" "%PGBUILDPATH%\runtime"
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
MKDIR "%PGBUILDPATH%\runtime\platforms"
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
copy "%QTDIR%\plugins\platforms\qwindows.dll" "%PGBUILDPATH%\runtime\platforms" > nul
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
|
ECHO Staging Qt components...
|
||||||
|
COPY "%QTDIR%\bin\Qt5Core.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
COPY "%QTDIR%\bin\Qt5Gui.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
COPY "%QTDIR%\bin\Qt5Widgets.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
COPY "%QTDIR%\bin\Qt5Network.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
COPY "%QTDIR%\bin\libgcc_s_dw2-1.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
COPY "%QTDIR%\bin\libstdc++-6.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
COPY "%QTDIR%\bin\libwinpthread-1.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
MKDIR "%PGBUILDPATH%\runtime\platforms" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
COPY "%QTDIR%\plugins\platforms\qwindows.dll" "%PGBUILDPATH%\runtime\platforms" > nul || EXIT /B %ERRORLEVEL%
|
||||||
ECHO [Paths] > "%PGBUILDPATH%\runtime\qt.conf"
|
ECHO [Paths] > "%PGBUILDPATH%\runtime\qt.conf"
|
||||||
ECHO Plugins=plugins >> "%PGBUILDPATH%\runtime\qt.conf"
|
ECHO Plugins=plugins >> "%PGBUILDPATH%\runtime\qt.conf"
|
||||||
|
|
||||||
copy "%PGDIR%\bin\libpq.dll" "%PGBUILDPATH%\runtime"
|
ECHO Staging PostgreSQL components...
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
COPY "%PGDIR%\bin\libpq.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
copy "%PGDIR%\bin\ssleay32.dll" "%PGBUILDPATH%\runtime"
|
COPY "%PGDIR%\bin\ssleay32.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
COPY "%PGDIR%\bin\libeay32.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
copy "%PGDIR%\bin\libeay32.dll" "%PGBUILDPATH%\runtime"
|
COPY "%PGDIR%\bin\libintl-*.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
COPY "%PGDIR%\bin\libiconv-*.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
copy "%PGDIR%\bin\libintl-*.dll" "%PGBUILDPATH%\runtime"
|
COPY "%PGDIR%\bin\zlib1.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
COPY "%PGDIR%\bin\pg_dump.exe" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
copy "%PGDIR%\bin\libiconv-*.dll" "%PGBUILDPATH%\runtime"
|
COPY "%PGDIR%\bin\pg_dumpall.exe" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%L%
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
COPY "%PGDIR%\bin\pg_restore.exe" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
copy "%PGDIR%\bin\zlib1.dll" "%PGBUILDPATH%\runtime"
|
COPY "%PGDIR%\bin\psql.exe" "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
copy "%PGDIR%\bin\pg_dump.exe" "%PGBUILDPATH%\runtime"
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
copy "%PGDIR%\bin\pg_dumpall.exe" "%PGBUILDPATH%\runtime"
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
copy "%PGDIR%\bin\pg_restore.exe" "%PGBUILDPATH%\runtime"
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
copy "%PGDIR%\bin\psql.exe" "%PGBUILDPATH%\runtime"
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
MKDIR "%PGBUILDPATH%\installer"
|
ECHO Staging VC++ runtime...
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
MKDIR "%PGBUILDPATH%\installer" || EXIT /B %ERRORLEVEL%
|
||||||
copy "%VCREDIST%" "%PGBUILDPATH%\installer" > nul
|
copy "%VCREDIST%" "%PGBUILDPATH%\installer" > nul || EXIT /B %ERRORLEVEL%
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
ECHO Runtime built successfully.
|
|
||||||
|
|
||||||
CD %WD%
|
CD %WD%
|
||||||
GOTO:eof
|
EXIT /B 0
|
||||||
|
|
||||||
|
|
||||||
:CREATE_PYTHON_ENV
|
:CREATE_PYTHON_ENV
|
||||||
copy %PYTHON_DLL% "%PGBUILDPATH%\runtime" > nul
|
ECHO Staging Python...
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
COPY %PYTHON_DLL% "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
COPY %PYTHON_HOME%\python.exe "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
COPY %PYTHON_HOME%\pythonw.exe "%PGBUILDPATH%\runtime" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
REM Copy Python interpretor as it's needed to run background processes
|
XCOPY /S /I /E /H /Y "%PYTHON_HOME%\DLLs" "%PGBUILDPATH%\%VIRTUALENV%\DLLs" > nul || EXIT /B %ERRORLEVEL%
|
||||||
copy %PYTHON_HOME%\python.exe "%PGBUILDPATH%\runtime" > nul
|
XCOPY /S /I /E /H /Y "%PYTHON_HOME%\Lib" "%PGBUILDPATH%\%VIRTUALENV%\Lib" > nul || EXIT /B %ERRORLEVEL%
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
copy %PYTHON_HOME%\pythonw.exe "%PGBUILDPATH%\runtime" > nul
|
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
XCOPY /S /I /E /H /Y "%PYTHON_HOME%\DLLs" "%PGBUILDPATH%\%VIRTUALENV%\DLLs" > nul
|
ECHO Cleaning up unnecessary .pyc and .pyo files...
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
FOR /R "%PGBUILDPATH%\%VIRTUALENV%" %%f in (*.pyc *.pyo) do DEL /q "%%f" 1> nul 2>&1
|
||||||
XCOPY /S /I /E /H /Y "%PYTHON_HOME%\Lib" "%PGBUILDPATH%\%VIRTUALENV%\Lib" > nul
|
ECHO Removing tests...
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
FOR /R "%PGBUILDPATH%\%VIRTUALENV%\Lib" %%f in (test tests) do RD /Q /S "%%f" 1> nul 2>&1
|
||||||
|
ECHO Removing TCL...
|
||||||
|
RD /Q /S "%PGBUILDPATH%\%VIRTUALENV%\tcl" 1> nul 2>&1
|
||||||
|
|
||||||
ECHO Cleaning up unnecessary files...
|
EXIT /B 0
|
||||||
FOR /R "%PGBUILDPATH%\%VIRTUALENV%" %%f in (*.pyc *.pyo) do DEL /q "%%f"
|
|
||||||
FOR /R "%PGBUILDPATH%\%VIRTUALENV%\Lib" %%f in (test tests) do RD /Q /S "%%f"
|
|
||||||
RD /Q /S "%PGBUILDPATH%\%VIRTUALENV%\tcl"
|
|
||||||
|
|
||||||
CD %WD%
|
|
||||||
GOTO:eof
|
|
||||||
|
|
||||||
:CREATE_INSTALLER
|
:CREATE_INSTALLER
|
||||||
ECHO Preparing for creation of windows installer...
|
ECHO Preparing for creation of windows installer...
|
||||||
IF NOT EXIST "%TARGET_DIR%" MKDIR "%TARGET_DIR%"
|
IF NOT EXIST "%TARGET_DIR%" MKDIR "%TARGET_DIR%"
|
||||||
|
|
||||||
copy "%WD%\pkg\win32\Resources\pgAdmin4.ico" "%PGBUILDPATH%"
|
ECHO Copying icon file...
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
COPY "%WD%\pkg\win32\Resources\pgAdmin4.ico" "%PGBUILDPATH%" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
CD "%WD%"
|
CD "%WD%\pkg\win32"
|
||||||
CD pkg
|
|
||||||
CD win32
|
|
||||||
|
|
||||||
|
ECHO Processing installer configuration script...
|
||||||
"%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in" "-o" "%WD%\pkg\win32\installer.iss.in_stage1" "-s" MYAPP_NAME -r """%APP_NAME%"""
|
"%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in" "-o" "%WD%\pkg\win32\installer.iss.in_stage1" "-s" MYAPP_NAME -r """%APP_NAME%"""
|
||||||
"%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage1" "-o" "%WD%\pkg\win32\installer.iss.in_stage2" "-s" MYAPP_FULLVERSION -r """%APP_VERSION%"""
|
"%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage1" "-o" "%WD%\pkg\win32\installer.iss.in_stage2" "-s" MYAPP_FULLVERSION -r """%APP_VERSION%"""
|
||||||
"%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage2" "-o" "%WD%\pkg\win32\installer.iss.in_stage3" "-s" MYAPP_VERSION -r """v%APP_MAJOR%"""
|
"%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage2" "-o" "%WD%\pkg\win32\installer.iss.in_stage3" "-s" MYAPP_VERSION -r """v%APP_MAJOR%"""
|
||||||
@ -346,21 +342,21 @@ REM Main function Ends
|
|||||||
"%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage3" "-o" "%WD%\pkg\win32\installer.iss.in_stage4" "-s" MYAPP_ARCHITECTURESMODE -r """%ARCMODE%"""
|
"%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage3" "-o" "%WD%\pkg\win32\installer.iss.in_stage4" "-s" MYAPP_ARCHITECTURESMODE -r """%ARCMODE%"""
|
||||||
"%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage4" "-o" "%WD%\pkg\win32\installer.iss" "-s" MYAPP_VCDIST -r """%VCREDISTNAME%"""
|
"%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage4" "-o" "%WD%\pkg\win32\installer.iss" "-s" MYAPP_VCDIST -r """%VCREDISTNAME%"""
|
||||||
|
|
||||||
|
ECHO Cleaning up...
|
||||||
DEL /s "%WD%\pkg\win32\installer.iss.in_stage*" > nul
|
DEL /s "%WD%\pkg\win32\installer.iss.in_stage*" > nul
|
||||||
ECHO Creating windows installer... using INNO tool
|
|
||||||
|
|
||||||
CALL "%INNOTOOL%\ISCC.exe" /q "%WD%\pkg\win32\installer.iss"
|
ECHO Creating windows installer using INNO tool...
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
CALL "%INNOTOOL%\ISCC.exe" /q "%WD%\pkg\win32\installer.iss" || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
MOVE "%WD%\pkg\win32\Output\Setup.exe" "%TARGET_DIR%\%INSTALLERNAME%"
|
ECHO Renaming installer...
|
||||||
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
MOVE "%WD%\pkg\win32\Output\Setup.exe" "%TARGET_DIR%\%INSTALLERNAME%" > nul || EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
ECHO "Location - %TARGET_DIR%\%INSTALLERNAME%"
|
ECHO Location - %TARGET_DIR%\%INSTALLERNAME%
|
||||||
ECHO Installer generated successfully.
|
ECHO Installer generated successfully.
|
||||||
|
|
||||||
CD %WD%
|
CD %WD%
|
||||||
GOTO:eof
|
EXIT /B 0
|
||||||
|
|
||||||
|
|
||||||
:SIGN_INSTALLER
|
:SIGN_INSTALLER
|
||||||
ECHO Attempting to sign the installer...
|
ECHO Attempting to sign the installer...
|
||||||
@ -373,72 +369,20 @@ REM Main function Ends
|
|||||||
PAUSE
|
PAUSE
|
||||||
)
|
)
|
||||||
|
|
||||||
CD %WD%
|
EXIT /B 0
|
||||||
GOTO:eof
|
|
||||||
|
|
||||||
:CLEANUP_ENV
|
:CLEANUP_ENV
|
||||||
ECHO Cleaning up private environment...
|
ECHO Cleaning the build environment...
|
||||||
rd "%PGBUILDPATH%\%VIRTUALENV%\Include" /S /Q
|
RD "%PGBUILDPATH%\%VIRTUALENV%\Include" /S /Q 1> nul 2>&1
|
||||||
DEL /s "%PGBUILDPATH%\%VIRTUALENV%\pip-selfcheck.json"
|
DEL /s "%PGBUILDPATH%\%VIRTUALENV%\pip-selfcheck.json" 1> nul 2>&1
|
||||||
|
|
||||||
ECHO Cleaned up private environment successfully.
|
EXIT /B 0
|
||||||
CD %WD%
|
|
||||||
GOTO:eof
|
|
||||||
|
|
||||||
:err_handle_inno
|
|
||||||
ECHO %INNOTOOL% does not exist
|
|
||||||
ECHO Please Install Innotool and SET INNOTOOL enviroment Variable.
|
|
||||||
ECHO SET "INNOTOOL=<PATH>"
|
|
||||||
exit /B 1
|
|
||||||
GOTO EXIT
|
|
||||||
|
|
||||||
:err_handle_vcredist
|
|
||||||
ECHO %VCREDIST% does not exist
|
|
||||||
ECHO Please Install Microsoft Visual studio and SET the VCREDIST enviroment Variable.
|
|
||||||
ECHO SET "VCREDIST=<PATH>"
|
|
||||||
exit /B 1
|
|
||||||
GOTO EXIT
|
|
||||||
|
|
||||||
:err_handle_python
|
|
||||||
ECHO %PYTHON_HOME% does not exist, or %PYTHON_DLL% does not exist.
|
|
||||||
ECHO Please install Python and SET the PYTHON_HOME enviroment Variable.
|
|
||||||
ECHO SET "PYTHON_HOME=<PATH>"
|
|
||||||
ECHO SET "PYTHON_DLL=<PATH>"
|
|
||||||
exit /B 1
|
|
||||||
GOTO EXIT
|
|
||||||
|
|
||||||
:err_handle_qt
|
|
||||||
ECHO %QTDIR% does not exist.
|
|
||||||
ECHO Please Install QT SDK and SET the QTDIR enviroment variable.
|
|
||||||
ECHO SET "QTDIR=<PATH>"
|
|
||||||
exit /B 1
|
|
||||||
GOTO EXIT
|
|
||||||
|
|
||||||
:err_handle_pg
|
|
||||||
ECHO %PGDIR% does not exist.
|
|
||||||
ECHO Please Install Postgres and SET enviroment Variable
|
|
||||||
ECHO SET "PGDIR=<PATH>"
|
|
||||||
exit /B 1
|
|
||||||
GOTO EXIT
|
|
||||||
|
|
||||||
:err_handle_pythonvirtualenv
|
|
||||||
ECHO Python virtualenv is missing @ location - %PYTHON_HOME%\Scripts\virtualenv.exe
|
|
||||||
exit /B 1
|
|
||||||
GOTO EXIT
|
|
||||||
|
|
||||||
:ERR_HANDLER
|
|
||||||
ECHO.
|
|
||||||
ECHO Aborting build!
|
|
||||||
CD %WD%
|
|
||||||
exit /B 1
|
|
||||||
GOTO EXIT
|
|
||||||
|
|
||||||
:USAGE
|
:USAGE
|
||||||
ECHO Invalid command line options....
|
ECHO Invalid command line options.
|
||||||
ECHO Usage: "Make.bat <x86 | clean>"
|
ECHO Usage: "Make.bat <x86 | clean>"
|
||||||
ECHO.
|
ECHO.
|
||||||
exit /B 1
|
|
||||||
GOTO EXIT
|
|
||||||
|
|
||||||
:EXIT
|
EXIT /B 1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user