Я написал командный файл, который последовательно запускает несколько муравьев. Мне интересно, есть ли способ сохранить результаты каждой сборки (независимо от того, удалось ли это или не удалось) и отобразить ее в конце? Например:Сохранение результатов сборки ANT и отображение в конце пакетного запуска
Project1 - Success
Project2 - Success
Project3 - Failed
Project4 - Success
Я не могу редактировать любой из муравьев строить файлы, только пакетный файл я использую, чтобы запустить их:
@echo off
cd c:\<project1_dir>\build
call C:\Home\apache-ant-1.9.4\bin\ant -buildfile build1.xml
echo.
cd c:\<project2_dir>\build
call C:\Home\apache-ant-1.9.4\bin\ant -buildfile build2.xml
echo.
cd c:\<project3_dir>\build\
call C:\Home\apache-ant-1.9.4\bin\ant -buildfile build3.xml
echo.
cd c:\<project4_dir>\build
call C:\Home\apache-ant-1.9.4\bin\ant -buildfile build4.xml
Спасибо!
UPDATE:
На основании ответа David W, я придумал следующее:
@echo off
cd c:\<project1_dir>\build
call C:\Home\apache-ant-1.9.4\bin\ant -buildfile build1.xml
set result1=%ErrorLevel%
echo.
cd c:\<project2_dir>\build
call C:\Home\apache-ant-1.9.4\bin\ant -buildfile build2.xml
set result2=%ErrorLevel%
echo.
cd c:\<project3_dir>\build\
call C:\Home\apache-ant-1.9.4\bin\ant -buildfile build3.xml
set result3=%ErrorLevel%
echo.
cd c:\<project4_dir>\build
call C:\Home\apache-ant-1.9.4\bin\ant -buildfile build4.xml
set result4=%ErrorLevel%
if "%result1%"=="0" (
echo Project1: Succeeded
) else (
echo Project1: Failed
)
if "%result2%"=="0" (
echo Project2: Succeeded
) else (
echo Project2: Failed
)
if "%result3%"=="0" (
echo Project3: Succeeded
) else (
echo Project3: Failed
)
if "%result4%"=="0" (
echo Project4: Succeeded
) else (
echo Project4: Failed
)
Приведенный выше код делает именно то, что я хотел, чтобы это сделать. Огромное спасибо!
Я использовал Jenkins для своих проектов Java, но это всего лишь инструмент, который я использую в Eclipse для создания всего рабочего пространства. Я делаю это так, чтобы каждый проект строился в определенном порядке, поскольку некоторые проекты опираются на других, которые необходимо создать в первую очередь. Является ли «errorlevel» встроенным, или это переменная, которую мне нужно создать/установить вручную? Я знаю, что есть способ имитировать массивы в пакетных файлах, поэтому я могу добавить результаты каждого вызова к этому, если я смогу получить результат после использования оператора «звонок» – DerStrom8
Я определенно чрезмерно усложнил это. Теперь я работаю, основываясь на вашем ответе. Я опубликую обновление в моем исходном вопросе. Спасибо за вашу помощь! – DerStrom8
Errorlevel - это как переменная среды, так и 'builtin' в Batch. Если вы скажете «если ErrorLevel 1», он проверяет код выхода 1 или выше. Если вы говорите '% ErrorLevel% EQ 2', это ровно 2. Вот почему вы не можете делать' if ErrorLevel 0'. По крайней мере, если я правильно помню свое пакетное программирование. –