Files
es_build_deliv/windows_deliv/make_installations.btm
Jocelyn 91720afd41 Reuse hallow.exe if exists.
various minor improvements.
2019-03-03 13:37:05 +00:00

162 lines
5.1 KiB
Plaintext

@echo off
call %~dp0init.btm
set EIFFEL_SRC=%TMP_EIFFEL_SRC
set ISE_LIBRARY=%TMP_EIFFEL_SRC
set ISE_SRC=%TMP_EIFFEL_SRC
iff not defined INSTALL_DIR then
echo INSTALL_DIR not defined
CANCEL
endiff
set SVN_VERSION=%@EXECSTR[set_version %EIFFEL_SRC]
remtrace Build Installation for %SVN_VERSION%
cdd %INIT_DIR\install
safe_md %INIT_DIR\install\bin
iff .%ISE_PLATFORM%.==.win64. then
set IS_WIN64=yes
set WINNAME=x64
else
set IS_WIN64=no
set WINNAME=x86
endiff
iff .%1.==.. then
iff exist %INIT_DIR%\install\bin\hallow.exe then
remtrace Reuse hallow tool
else
remtrace =============================================
remtrace Checkout and compile the hallow tool
remtrace =============================================
cdd %EIFFEL_SRC\tools
remtrace Compile finish_freezing Clib
cd %EIFFEL_SRC\tools\finish_freezing\Clib
default_make
cdd %EIFFEL_SRC\tools
co -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/tools/hallow hallow
cd %EIFFEL_SRC\tools\hallow
clean_project
finalize hallow.ecf
cleanup_dotnet_eiffel hallow hallow.exe
iff not exist libhallow.dll then
remtrace Couldnt generate hallow.exe
CANCEL_ON_ERROR
else
move hallow.exe %INIT_DIR\install\bin
move libhallow.dll %INIT_DIR\install\bin
move eiffelsoftware.runtime.dll %INIT_DIR\install\bin
endiff
endiff
remtrace ==================================================
remtrace Recompile Custom actions for installation program
remtrace ==================================================
iff not defined NO_ENTERPRISE_BUILD then
cdd %EIFFEL_SRC
cd tools
if EXIST %INIT_DIR%\isesvn\tools\setup (
if not EXIST setup (
xcopy %INIT_DIR%\isesvn\tools\setup setup /E /I
)
) else (
co %DEFAULT_ISE_SVN%/Src/tools/setup setup
)
cd %EIFFEL_SRC\tools\setup\studio
clean_project
finalize setup.ecf
cleanup_eiffel setup setup.dll
iff not exist setup.dll then
remtrace Couldnt generate setup.dll
QUIT
CANCEL_ON_ERROR
endiff
safe_md %INIT_DIR\install\binaries
safe_md %INIT_DIR\install\binaries\%WINNAME
move setup.dll %INIT_DIR\install\binaries\%WINNAME
endiff
endiff
remtrace ==============================================
remtrace Building the MSIs
remtrace ==============================================
cdd %INIT_DIR\install\content\eiffelstudio
safe_md %INSTALL_DIR\setups
safe_md %INSTALL_DIR\setups\gpl
safe_md %INSTALL_DIR\setups\enterprise
remtrace Creating WIX files
espawn -u:%ISE_C_COMPILER_VER% "nmake /nologo clean"
if "%NO_GPL_BUILD%" NEQ "True" (
remtrace Preparing GPL edition
remtrace Clean previous GPL WIX files
fullrd %INIT_DIR%\install\bin\studio_gpl_%WINNAME%
espawn -u:%ISE_C_COMPILER_VER% "nmake /nologo gpl_%WINNAME"
safe_copy %INIT_DIR\install\bin\studio_gpl_%WINNAME\package.msi %INSTALL_DIR\setups\gpl\%STUDIO_NAME%_gpl_%SVN_VERSION-%ISE_PLATFORM%.msi
)
iff not defined NO_ENTERPRISE_BUILD then
remtrace Preparing Commercial edition
remtrace Clean previous ENT WIX files
fullrd %INIT_DIR%\install\bin\studio_ent_%WINNAME%
espawn -u:%ISE_C_COMPILER_VER% "nmake /nologo enterprise_%WINNAME"
safe_copy %INIT_DIR\install\bin\studio_ent_%WINNAME\package.msi %INSTALL_DIR\setups\enterprise\%STUDIO_NAME%_ent_%SVN_VERSION-%ISE_PLATFORM%.msi
endiff
remtrace ==============================================
remtrace Building the Zips
remtrace ==============================================
cdd %INSTALL_DIR
if "%NO_GPL_BUILD%" NEQ "True" (
ren EiffelStudio %STUDIO_NAME%
remtrace GPL archive
safe_copy %INSTALL_DIR\releases\gpl_version\ec.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin
safe_copy %INSTALL_DIR\releases\gpl_version\ecb.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin
iff exist %INSTALL_DIR\releases\gpl_version\LICENSE then
safe_copy %INSTALL_DIR\releases\gpl_version\LICENSE %INSTALL_DIR\%STUDIO_NAME%\LICENSE
else
remtrace Missing GPL license text
endiff
7z a -t7z %INSTALL_DIR\setups\gpl\%STUDIO_NAME%_gpl_%SVN_VERSION-%ISE_PLATFORM%.7z %STUDIO_NAME% -mx9 >>& %INSTALL_LOG
)
iff not defined NO_ENTERPRISE_BUILD then
remtrace Enterprise archive
safe_copy %INSTALL_DIR\releases\enterprise_version\ec.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin
safe_copy %INSTALL_DIR\releases\enterprise_version\ecb.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin
iff exist %INSTALL_DIR\releases\enterprise_version\LICENSE then
safe_copy %INSTALL_DIR\releases\enterprise_version\LICENSE %INSTALL_DIR\%STUDIO_NAME%\LICENSE
else
remtrace Missing Enterprise license text
endiff
7z a -t7z %INSTALL_DIR\setups\enterprise\%STUDIO_NAME%_ent_%SVN_VERSION-%ISE_PLATFORM%.7z %STUDIO_NAME% -mx9 >>& %INSTALL_LOG
endiff
remtrace Restoring the layout to its original state
cdd %INSTALL_DIR
ren %STUDIO_NAME% EiffelStudio
remtrace Uploading packages online
if "%NO_GPL_BUILD%" NEQ "True" (
cdd %INSTALL_DIR\setups\gpl
share_delivery %STUDIO_NAME%_gpl_%SVN_VERSION%-%ISE_PLATFORM%.msi
share_delivery %STUDIO_NAME%_gpl_%SVN_VERSION%-%ISE_PLATFORM%.7z
)
fullrf %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin\ec.exe
fullrf %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin\ecb.exe
remtrace Your deliveries are now ready
cdd %INIT_DIR