Я пытаюсь автоматизировать некоторые устаревшие сборки Delphi 5 с помощью скрипта MSBuild, и у меня возникают проблемы с обнаружением ошибок. Подумав, что возникла некоторая проблема с передачей MSBuild, я также попробовал пакетный файл и все еще получаю обратные проходы (0), когда сборка не удалась (1). % 2 - это путь к delphi, а% 3 - имя проекта.
REM delphi_ide_build.bat
@ECHO OFF
"%1 %2\Bin\delphi32.exe" %3.dpr -b
REM BCB5 returns 0 if build succeeds, 1 if build fails
IF ERRORLEVEL 1 GOTO FAIL
IF ERRORLEVEL 0 GOTO PASS
:FAIL
ECHO An Error Occured in Build - Showing Log
ECHO ---------------------------------------
type %3.err
EXIT 1
:PASS
ECHO The Build Passed - Showing Log
ECHO ------------------------------
type %3.err
EXIT 0
Согласно онлайн-справке:
Уровень ошибки установлен на 0 для
успешные сборки и 1 для неудачных
строит.
В настоящее время мой проект не выполняется (отображается в файле журнала), но мой командный файл работает как PASS.
[Фатальная ошибка] MyFile.pas (43): файл не найден: 'aa.dcu'
Это ошибка в Delphi 5, или я что-то упустил?
Полный текст справки IDE для опции -B на delphi32.exe:
AutoBuild. Должен использоваться с
опция имени файла. Когда указано,
проект или проектная группа построена
автоматически при запуске IDE. любой
подсказки, ошибки или предупреждения
сохранен в файл. Затем IDE выходит.
Это облегчает сборку в пакетном режиме
режим из командного файла. Ошибка
Уровень установлен на 0 для успешного
сборок и 1 для неудачных сборок. От
по умолчанию выходной файл имеет тот же
имя в качестве имени файла, указанного с
расширение файла изменено на .err.
Это может быть отменено с помощью
Опция