Ответ 1
Используйте атрибуты resultproperty
и failonerror
exec
, например:
<target name="CheckState">
<exec executable="${App.path}"
resultproperty="App.state"
failonerror="false"/>
<echo message="App state was: ${App.state}" />
</target>
Цитата из exec
task docs Ошибки и коды возврата:
По умолчанию код возврата exec игнорируется; когда вы устанавливаете failonerror = "true", тогда любое возвращение сбой кода (для конкретной ОС) приводит к сбою сборки. Кроме того, вы можете установить resultproperty к названию собственности и присвоить его результата (исключая неизменность, из Конечно).
Если попытка запустить программу не работает с кодом ошибки, зависящей от ОС, затем останавливает сборку, если только Для параметра failifexecutionfails установлено значение false. Вы можете использовать это для запуска программы, если он существует, но в противном случае ничего не делает.
Что означают эти коды ошибок? Что ж, они зависят от ОС. В Windows коробки, вы должны посмотреть на документация; код ошибки 2 означает "нет такой программы", что обычно означает не находится на пути. Каждый раз, когда вы видите такая ошибка из любой задачи Ant, это обычно не ошибка Ant, но некоторые проблемы с конфигурацией на вашем компьютере.