@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 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 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 ( 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" espawn -u:%ISE_C_COMPILER_VER% "nmake /nologo" iff not NO_GPL_BUILD then remtrace Preparing GPL edition 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 endiff iff not NO_ENTERPRISE_BUILD then remtrace Preparing Commercial edition 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 iff not NO_GPL_BUILD then 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 endiff iff not 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 iff not NO_GPL_BUILD then 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 endiff 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