183 lines
5.9 KiB
Plaintext
183 lines
5.9 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 ==================================================
|
|
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 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
|
|
|
|
ren %INSTALL_DIR%\releases\enterprise_version\LICENSE %INSTALL_DIR%\releases\enterprise_version\LICENSE_ENTERPRISE
|
|
|
|
if exist %INSTALL_DIR%\%STUDIO_NAME% (
|
|
echo issue from previous building!
|
|
ren %INSTALL_DIR%\%STUDIO_NAME% %INSTALL_DIR%\EiffelStudio
|
|
)
|
|
|
|
|
|
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_GPL_BUILD%" NEQ "True" (
|
|
remtrace Preparing GPL edition
|
|
remtrace Clean previous GPL WIX files
|
|
rem 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
|
|
)
|
|
|
|
remtrace ==============================================
|
|
remtrace Building the Zips
|
|
remtrace ==============================================
|
|
cdd %INSTALL_DIR
|
|
if "%NO_GPL_BUILD%" NEQ "True" (
|
|
if exist %INSTALL_DIR\setups\gpl\%STUDIO_NAME%_gpl_%SVN_VERSION-%ISE_PLATFORM%.7z (
|
|
remtrace GPL archive: reuse
|
|
) else (
|
|
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
|
|
)
|
|
)
|
|
|
|
if "%NO_ENTERPRISE_BUILD%" NEQ "True" (
|
|
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 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
|