Как прервать сборку, если фаза запуска скрипта выдает ошибку - PullRequest
13 голосов
/ 06 октября 2010

Я хотел бы использовать цель сценариев запуска, чтобы пометить мою ревизию в Mercurial и загрузить ее на сервер.Я создал новую цель сценариев запуска, которая зависит от другой цели, создающей мое приложение, затем я добавил две фазы сценариев запуска непосредственно один за другим.

Теперь мой вопрос: как я могу предотвратить выполнение фазы сценария запуска № 2, еслиЭтап запуска сценария № 1 выдает ошибку (код возврата сценария не равен 0)?

Второй сценарий загружает файлы на сервер, поэтому я хочу выполнить этот этап только в том случае, если до этого все прошло правильно.

Ответы [ 2 ]

11 голосов
/ 06 октября 2010

Решение состоит в том, чтобы вообще прекратить сборку при возникновении ошибок:

XCode -> Предпочтения -> Сборка -> Параметры сборки "Продолжить сборку после ошибок".

Если снять этот флажоксборка остановится, если ваш скрипт вернет что-то неравное 0 и второй скрипт не будет выполнен.Если вы используете xcodebuild, имя параметра - «PBXBuildsContinueAfterErrors».

10 голосов
/ 26 ноября 2014

Ваш первый скрипт может прервать сборку с помощью «выхода 1», например:

if [ error ] then
    echo "There are some errors, etc..."
    exit 1
fi
...