Pull to refresh

Comments 3

у меня build.bat получился много сложнее
Поддерживается разные инстансы для сборки, используется совмествно с плагином матрица конфигураций, там задаю параметр CACHEVERS и перечисляю под названия инстансов для которых нужно делать сборку
Так же сборка у меня делается с помощью %InstallerManifest, сборка сложная, с кучей разной компиляцией и деплоем.

Скрытый текст
:::::::::::::::::::::::
:: .BAT ФАЙЛ СБОРКИ ::
:::::::::::::::::::::::
::
:: Проверим переменные, нужные для сборки
IF NOT DEFINED CACHEVERS EXIT 1
IF NOT DEFINED WORKSPACE EXIT 1
IF NOT DEFINED BUILDNAME EXIT 1

set SRCDIR=%WORKSPACE%

set CCONTROL=C:\InterSystems\Ensemble12\bin\Ccontrol.exe

%CCONTROL% qlist %CACHEVERS% nodisplay > instanceinfo
set /p INSTANCEINFO= < instanceinfo

del instanceinfo

for /f «delims=^ tokens=2» %%a IN ("%INSTANCEINFO%") DO (
set CACHEDIR= %%a
)

set CACHEBIN=%CACHEDIR%\bin\cache

:: Приготовим файл для вывода
set OUTFILE=%CD%\outFile
del "%OUTFILE%"

set BUILDNAMEFILE=%CD%\version
del "%BUILDNAMEFILE%"

:: Приготовимся вызвать Cache
::
:: Установка флага strictchecking в 0
echo zn "%%sys" >inFile

echo s db = ##class(SYS.Database).%%OpenId(«cachelib») >>inFile

echo if db.ReadOnly s db.ReadOnly = 0 s status=db.%%Save() >>inFile

echo s ^^%%qCacheObjectSys(«strictchecking»)=0 >>inFile >>inFile

echo zn «user» >>inFile

:: Сначала загружаем класс сборки в область USER
echo set sc=$SYSTEM.OBJ.Load("%SRCDIR%\svn\cls\Letograf.Build.xml",«ck») >>inFile

:: Если не получилось, покажем ошибку
echo if sc'=1 do $SYSTEM.OBJ.DisplayError(sc) >>inFile

:: Запускаем сборку
echo if sc=1 set sc=##class(Letograf.Build).Build("%BUILDNAME%","%SRCDIR%","%BUILDNAME%",.build) >>inFile

:: Если не получилось, покажем ошибку
echo if sc'=1 do $SYSTEM.OBJ.DisplayError(sc) >>inFile

:: Если не получилось, создадим файл-флаг ошибки
echo if sc'=1 set fileName="%OUTFILE%" o fileName:(«NWS») u fileName do $SYSTEM.OBJ.DisplayError(sc) c fileName >>inFile

echo if $g(build)'="" set fileName="%BUILDNAMEFILE%" o fileName:(«NWS») u fileName w build c fileName >>inFile

:: Вот и все
echo halt >>inFile

:: Вызываем Cache

%CACHEBIN% -s %CACHEDIR%\mgr -U USER <inFile

:: Удаление временного скрипта
del inFile

:: Если есть файл-флаг ошибки, выдаем ошибку
IF EXIST "%OUTFILE%" EXIT 1
Видео отличное, особенно порадовала фоновая музыка =)

Реквестирую заказываю аналогичный ролик для Atlassian Bamboo.
Sign up to leave a comment.