构建

Marionette 默认情况下内置于 Firefox 中,并随官方 Firefox 二进制文件一起发布。由于 Marionette 是用 [XPCOM] 风格的 JavaScript 编写的,您可以选择依赖所谓的 制品构建,它会将预编译的 Firefox 文件下载到您的计算机上。这意味着您不必在本地编译 Firefox,但代价是需要良好的网络连接。要启用 制品构建,您可以在引导时选择“桌面版 Firefox 制品模式”。

克隆 mozilla-unified 后,您可以运行以下命令并按照屏幕上的说明设置开发环境

./mach bootstrap

当您被要求选择要构建的 Firefox 版本时,您可以考虑选择“桌面版 Firefox 制品模式”。如果您拥有快速的网络连接,这将大大缩短在您的机器上构建 Firefox 所需的时间(从 30 多分钟缩短到仅 1-2 分钟)。

要执行常规构建,只需执行以下操作

./mach build

您可以使用以下命令清除 objdir

./mach clobber

在您从 mozilla-central 获取最新更改后,有时需要进行干净构建。在这种情况下,您会发现构建会出错。为了在这种情况下自动执行干净构建,您可以选择将此行添加到顶级源目录中的 mozconfig 文件中

mk_add_options AUTOCLOBBER=1

如果您经常编译 Firefox,您还希望启用 ccachesccache(如果您在 macOS 或 Linux 系统上进行开发)。

mk_add_options 'export RUSTC_WRAPPER=sccache'
mk_add_options 'export CCACHE_CPP2=yes'
ac_add_options --with-ccache

您还可以选择不构建所有 WebDriver 特定的组件(Marionette 和 远程代理),方法是设置以下标志

ac_add_options --disable-webdriver