Xcode 10构建阶段排序

时间:2018-10-11 19:27:41

标签: xcode xcode10

Xcode的现代构建系统使用什么逻辑对构建阶段进行排序或并行化?我意识到可以将输入/输出文件定义为顺序相关的构建阶段,但这是唯一的考虑因素吗?

我从事的一些较复杂的项目有多达10个运行脚本构建阶段。尽管我想受益于某些程序可以并行运行的事实,但是我们以前利用了传统构建系统对自上而下排序的尊重,以确保事情按顺序进行。有没有简单的方法可以确保不依赖输入/输出文件的排序?

1 个答案:

答案 0 :(得分:1)

简单地说,没有什么好办法。

为了减少复杂性,我做了很多事情:

  1. 将运行脚本的构建阶段合并为两个阶段:预编译,后编译
  2. 在Python中利用多处理功能按顺序运行脚本组(在内部工具之上构建)

我仍然定义在两个阶段中生成的“输出文件”,例如,以确保可以将脚本生成的(或检索到的)文件复制到产品包中。它减少了开销,并缩短了构建时间。我仍然认为Apple需要实施一种改进的机制来对构建运行脚本阶段进行排序。