构建¶
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,您还希望启用 ccache 和 sccache(如果您在 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