Unity jam build system发展史

自2010年以来,我们使用称为JamPlus的基于Jam的构建系统来构建Unity。

1.Jam构建系统概述

在这里插入图片描述

1.1 JAM.EXE

有一个构建引擎(build engine),即jam.exe。它知道如何解析描述构建的 *.jam 文件,找到哪些内容需要更新以构建某些内容,并在可能的情况下并行执行这些构建命令。

1.2 JAMPLUS

“JamPlus”是在此之上编写的一堆规则,结合了 Jam 和 Lua 语言。 这些是辅助工具,例如“查找 C++ 编译器”,描述 C/C++ 程序的基本结构等。JamPlus 还可以为 Visual Studio、Xcode 等生成 IDE 项目文件。

1.3 .JAM

我们有一堆我们自己的 *.jam 文件,它们描述了 Unity 本身的部分和平台。 从像“这是一个要编译的 C++ 文件列表,那里是编译器标志”这样的简单事情,到更多涉及在构建时生成代码的事情。

2.“Jam with C#” project at Hackweek

在这里插入图片描述
在Unity Hackweek 2016上,我们将 C#(通过 Mono)直接嵌入到 jam.exe 中,并使其能够运行 C# 代码来描述要构建的所有内容,而不是解析 Jam 语言文件。 还写了一个从Jam 语言转换成C# 语言的程序。

因此,所有 *.jam文件(我们自己的构建代码,以及大部分 JamPlus 规则)都变成了C#文件,但在功能上没有任何变化。

在 2017 年 2 月,删除所有旧的 *.jam 文件,推出了自动转换的 C# 构建代码。

3.开始使用Auto-converted-Jam-to-C#

在这里插入图片描述

使用Auto-converted-Jam-to-C#后,我们开始编写新的基于 C# 的 API 来表达“如何构建程序”规则,我们称之为“Bee”。

我们还将 IDE 项目文件的生成从 JamPlus 中基于 Lua 的文件重写为 C#。

当然,此时我们所有的构建代码仍然使用旧的 JamPlus-but-now-C# API 来表达需要如何构建事物。我们开始采用所有这些部分并将它们转换为使用新的 Bee 构建 API:
在这里插入图片描述
在这里插入图片描述

4.Jam 切换到 Tundra 后端

2018 年,Jam 切换到 Tundra 后端。Jam.exe最终被删除。
在这里插入图片描述

5.2019,现状

在这里插入图片描述
今天,在我们的主要代码存储库中,jam.exe 已不复存在,而且几乎所有由 JamPlus 转换的 C# 代码都已删除。

与多年前的构建状态相比,构建了很多不错的构建相关工具,总的来说构建性能、可靠性、用户体验、工作流程的各个方面都得到了改进。

有了这个相当不错的构建系统(“Bee”),可以使用它在主代码存储库之外构建东西! 所以它也被用来构建我们使用的各种外部库,例如各种插件/包。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值