如果运行脚本阶段出现错误,如何中止构建

发布于 2024-09-26 14:30:30 字数 213 浏览 4 评论 0原文

我想使用运行脚本目标在 Mercurial 中标记我的修订并将其上传到服务器。我创建了一个新的运行脚本目标,该目标依赖于构建我的应用程序的其他目标,然后我直接一个接一个地添加了两个运行脚本阶段。

现在我的问题是:如果运行脚本阶段 #1 出现错误(脚本的返回代码不等于 0),如何防止执行运行脚本阶段 #2?

第二个脚本会将文件上传到服务器,因此我只想在一切顺利的情况下执行此阶段。

I would like to use a run scripts target to tag my revision in mercurial and upload it to a server. I created a new run scripts target that depends on the other target building my app, then I added two run script phases directly one after another.

Now my question: how can I prevent executing run script phase #2 if run script phase #1 gives an error (return code of script is unequal 0)?

The second script would upload the files to a server, so I only want to execute this phase if everything went right until then.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

心安伴我暖 2024-10-03 14:30:30

您的第一个脚本可以使用“exit 1”中止构建,如下所示:

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

Your first script can abort the build with "exit 1", like this:

if [ error ] then
    echo "There are some errors, etc..."
    exit 1
fi
情深已缘浅 2024-10-03 14:30:30

解决方案是在发生错误时通常停止构建:

XCode ->首选项->建筑->构建选项“错误后继续构建”。

如果取消选中该选项,如果您的脚本返回不等于 0 的值,则构建将停止,并且第二个脚本将不会执行。如果您使用 xcodebuild,则该设置的名称为“PBXBuildsContinueAfterErrors”。

A solution would be to generally stop building when errors occur:

XCode -> Preferences -> Building -> Build options "Continue building after errors".

If you uncheck that, the build will stop if your script returns something unequal 0 and the second script will not be executed. If you use xcodebuild, the name for the setting is "PBXBuildsContinueAfterErrors".

思念满溢 2024-10-03 14:30:30

exit 1 中止构建。
echo "error: 会将其标记为 Xcode 中的错误。

echo "error: Everything has failed!"
exit 1

自定义错误示例

exit 1 aborts the build.
echo "error: will flag it up as an error within Xcode.

echo "error: Everything has failed!"
exit 1

Custom Error example

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文