我想使用运行脚本目标在mercurial中标记我的修订版并将其上传到服务器。我创建了一个新的运行脚本目标,它取决于构建我的应用程序的其他目标,然后我一个接一个地直接添加了两个运行脚本阶段。
现在我的问题是:如果运行脚本阶段#1给出错误(脚本的返回代码是不等于0),如何阻止执行运行脚本阶段#2?
第二个脚本会将文件上传到服务器,所以如果一切顺利,我只想执行这个阶段。
答案 0 :(得分:11)
解决方案是在发生错误时通常停止构建:
XCode - >偏好 - >建筑 - >构建选项“错误后继续构建”。
如果取消选中,如果脚本返回不等于0的内容并且第二个脚本不会被执行,则构建将停止。如果您使用xcodebuild,则该设置的名称为“PBXBuildsContinueAfterErrors”。
答案 1 :(得分:9)
您的第一个脚本可以使用"退出1"中止构建,如下所示:
if [ error ] then
echo "There are some errors, etc..."
exit 1
fi
答案 2 :(得分:0)
exit(1)
为我完成了工作。添加echo "error:
会将其标记为Xcode中的错误。
echo "error: Everything has failed!"
exit(1)