2014-11-21 3 views
2

Я добавил задачу build.xml для проверки определенных условий для развертывания, например, для версии os и отказа, если требования не встречаются. е. gphp Задача выхода phing

<fail message="Required OS: '${deploy.require_os_version}' does not match with: '${remote_os}'"/> 

Что работает, но это выводит весь стек ошибок. Есть ли лучший способ отправить сигнал сбоя сборки и выйти с достойным сообщением об ошибке?

+0

У вас есть синтаксис xsl? затем 'xsltproc parse.xsl' http://stackoverflow.com/questions/11709160/how-to-beautify-the-output-of-phing – Pogrindis

+0

нет У меня этого нет. Кажется, это открытая ошибка, например http://stackoverflow.com/questions/25663869/how-to-fail-phing-without-triggering-backtrace – sakhunzai

ответ

2

У меня был такой же вопрос. Я считаю, что единственное решение состоит в том, чтобы вложить ваши задачи в if/then/else, чтобы гарантировать, что условие отказа приводит к <echo>, а затем убедитесь, что у вас нет задач, определенных после блока if.

Когда вы думаете об этом, это, пожалуй, более программно правильно, чем использование задачи для принудительного раннего выхода в ожидаемых условиях.

+0

Я использую 'if-then-else' и в' else' блоке I используя ''. Вопрос заключается в том, чтобы ограничить выходной стек при ошибке и украсить вывод. Спасибо – sakhunzai

+1

Вы не можете остановить появление stacktrace при использовании ''. Единственная альтернатива - использовать ''. Вы можете указать 'уровень'' error', чтобы отобразить ваше сообщение красным цветом. То есть ' О, дорогая! '. Единственный улов в том, что '' заставляет скрипт выйти, а '' не будет, поэтому вам нужно правильно структурировать свою задачу, если вам нужно, чтобы это закончилось после эха сообщения. – user2045006

Смежные вопросы