@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 ================================================== if "%NO_ENTERPRISE_BUILD%" NEQ "True" ( remtrace NO_ENTERPRISE_BUILD=%NO_ENTERPRISE_BUILD% cd %EIFFEL_SRC cd tools iff EXIST %INIT_DIR%\isesvn\tools\setup then remtrace Get ISE SVN tools setup from folder iff EXIST setup then fullrd setup endiff xcopy /E /I /Y %INIT_DIR%\isesvn\tools\setup setup else remtrace Get ISE SVN tools setup from subversion co %DEFAULT_ISE_SVN%/Src/tools/setup setup endiff remtrace Build studio setup.dll 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 remtrace ============================================== remtrace Building the Setups (archive and msi) remtrace ============================================== cdd %INIT_DIR\install\content\eiffelstudio safe_md %INSTALL_DIR\setups safe_md %INSTALL_DIR\setups\standard safe_md %INSTALL_DIR\setups\enterprise safe_md %INSTALL_DIR\setups\enterprise-axar safe_md %INSTALL_DIR\setups\branded if exist %INSTALL_DIR%\%STUDIO_NAME% ( echo issue from previous building! ren %INSTALL_DIR%\%STUDIO_NAME% %INSTALL_DIR%\EiffelStudio ) if "%NO_MSI%" EQU "True" goto BUILD_ZIP remtrace ============================================== remtrace Building the MSIs remtrace ============================================== remtrace Creating WIX files espawn -u:%ISE_C_COMPILER_VER% "nmake /nologo clean" espawn -u:%ISE_C_COMPILER_VER% "nmake /nologo" if "%NO_ENTERPRISE_BUILD%" NEQ "True" ( remtrace Preparing Commercial edition remtrace Clean previous ENT WIX files rem 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 ) if "%NO_STANDARD_BUILD%" NEQ "True" ( remtrace Preparing Standard edition remtrace Clean previous Standard WIX files rem fullrd %INIT_DIR%\install\bin\studio_std_%WINNAME% espawn -u:%ISE_C_COMPILER_VER% "nmake /nologo standard_%WINNAME" safe_copy %INIT_DIR\install\bin\studio_std_%WINNAME\package.msi %INSTALL_DIR\setups\standard\%STUDIO_NAME%_rev_%SVN_VERSION-%ISE_PLATFORM%.msi ) :BUILD_ZIP remtrace ============================================== remtrace Building the Zips remtrace ============================================== if "%NO_STANDARD_BUILD%" NEQ "True" ( remtrace Build Standard Zip cdd %INSTALL_DIR if exist %INSTALL_DIR\setups\standard\%STUDIO_NAME%_rev_%SVN_VERSION-%ISE_PLATFORM%.7z ( remtrace Standard archive: reuse ) else ( ren EiffelStudio %STUDIO_NAME% remtrace Standard archive safe_copy %INSTALL_DIR\releases\standard_version\ec.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin safe_copy %INSTALL_DIR\releases\standard_version\ecb.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin iff exist %INSTALL_DIR\releases\standard_version\LICENSE then safe_copy %INSTALL_DIR\releases\standard_version\LICENSE %INSTALL_DIR\%STUDIO_NAME%\LICENSE else remtrace Missing Standard license text endiff 7z a -t7z %INSTALL_DIR\setups\standard\%STUDIO_NAME%_rev_%SVN_VERSION-%ISE_PLATFORM%.7z %STUDIO_NAME% -mx9 >>& %INSTALL_LOG ) remtrace Uploading Standard packages online cdd %INSTALL_DIR\setups\standard call share_delivery %STUDIO_NAME%_rev_%SVN_VERSION%-%ISE_PLATFORM%.7z standard if "%NO_MSI%" NEQ "True" call share_delivery %STUDIO_NAME%_rev_%SVN_VERSION%-%ISE_PLATFORM%.msi standard if not EXIST %STUDIO_NAME%_rev_%SVN_VERSION%-%ISE_PLATFORM%.7z ( if EXIST %~dp0notify.bat %~dp0notify.bat "Failure : no %STUDIO_NAME%_rev_%SVN_VERSION%-%ISE_PLATFORM%.7z release!" ) ) else ( remtrace DO NOT Build Standard Zip ) if "%NO_ENTERPRISE_BUILD%" NEQ "True" ( cdd %INSTALL_DIR if exist %INSTALL_DIR\setups\enterprise\%STUDIO_NAME%_ent_%SVN_VERSION-%ISE_PLATFORM%.7z ( remtrace Enterprise archive: reuse ) else ( 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 ) remtrace Uploading ENT packages online cdd %INSTALL_DIR\setups\enterprise call share_delivery %STUDIO_NAME%_ent_%SVN_VERSION%-%ISE_PLATFORM%.7z enterprise if "%NO_MSI%" NEQ "True" call share_delivery %STUDIO_NAME%_ent_%SVN_VERSION%-%ISE_PLATFORM%.msi enterprise ) if "%NO_ENTERPRISE_BUILD%" NEQ "True" ( cdd %INSTALL_DIR if exist %INSTALL_DIR\setups\branded\%STUDIO_NAME%_branded_%SVN_VERSION-%ISE_PLATFORM%.7z ( remtrace Branded archive: reuse ) else ( remtrace Branded archive safe_copy %INSTALL_DIR\releases\branded_version\ec.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin safe_copy %INSTALL_DIR\releases\branded_version\ecb.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin iff exist %INSTALL_DIR\releases\branded_version\LICENSE then safe_copy %INSTALL_DIR\releases\branded_version\LICENSE %INSTALL_DIR\%STUDIO_NAME%\LICENSE else remtrace Missing Branded license text endiff 7z a -t7z %INSTALL_DIR\setups\branded\%STUDIO_NAME%_branded_%SVN_VERSION-%ISE_PLATFORM%.7z %STUDIO_NAME% -mx9 >>& %INSTALL_LOG ) remtrace Uploading Branded packages online cdd %INSTALL_DIR\setups\branded call share_delivery %STUDIO_NAME%_branded_%SVN_VERSION%-%ISE_PLATFORM%.7z branded if "%NO_MSI%" NEQ "True" call share_delivery %STUDIO_NAME%_branded_%SVN_VERSION%-%ISE_PLATFORM%.msi branded ) if "%NO_AXAR_ENTERPRISE_BUILD%" NEQ "True" ( cdd %INSTALL_DIR if exist %INSTALL_DIR\setups\enterprise-axar\%STUDIO_NAME%_axar_%SVN_VERSION-%ISE_PLATFORM%.7z ( remtrace Enterprise-axar archive: reuse ) else ( remtrace Enterprise-axar archive safe_copy %INSTALL_DIR\releases\enterprise_version-axar\ec.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin safe_copy %INSTALL_DIR\releases\enterprise_version-axar\ecb.exe %INSTALL_DIR\%STUDIO_NAME%\studio\spec\%ISE_PLATFORM%\bin iff exist %INSTALL_DIR\releases\enterprise_version-axar\LICENSE then safe_copy %INSTALL_DIR\releases\enterprise_version-axar\LICENSE %INSTALL_DIR\%STUDIO_NAME%\LICENSE else remtrace Missing AXAR Enterprise license text endiff 7z a -t7z %INSTALL_DIR\setups\enterprise-axar\%STUDIO_NAME%_axar_%SVN_VERSION-%ISE_PLATFORM%.7z %STUDIO_NAME% -mx9 >>& %INSTALL_LOG ) remtrace Uploading ENT AXAR packages online cdd %INSTALL_DIR\setups\enterprise-axar call share_delivery %STUDIO_NAME%_axar_%SVN_VERSION%-%ISE_PLATFORM%.7z enterprise-axar ) remtrace Restoring the layout to its original state cdd %INSTALL_DIR ren %STUDIO_NAME% EiffelStudio 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