Bug 1839317 - Add Firefox Snap build of all branches using upstream toolings r=releng...
[gecko.git] / remote / doc / Building.md
blob75880f01f937442d7c3c86a3e33e98ee55b43a94
1 Building
2 ========
4 The Remote Agent is included in the default Firefox build, but only
5 ships on the Firefox Nightly release channel:
7         % ./mach run --remote-debugging-port
9 The source code can be found under [remote/ in central].
11 There are two build modes to choose from:
13 Full build mode
14 ---------------
16 The Remote Agent is included when you build in the usual way:
18         % ./mach build
20 When you make changes to XPCOM component files you need to rebuild
21 in order for the changes to take effect.  The most efficient way to
22 do this, provided you haven’t touched any compiled code (C++ or Rust):
24         % ./mach build faster
26 Component files include the likes of components.conf,
27 RemoteAgent.manifest, moz.build files, and jar.mn.
28 All the JS modules (files ending with `.jsm`) are symlinked into
29 the build and can be changed without rebuilding.
31 You may also opt out of building all the WebDriver specific components
32 ([Marionette], and the Remote Agent) by setting the following flag in
33 your [mozconfig]:
35     ac_add_options --disable-webdriver
37 Artifact mode
38 -------------
40 You may also use [artifact builds] when working on the Remote Agent.
41 This fast build mode downloads pre-built components from the Mozilla
42 build servers, rendering local compilation unnecessary.  To use
43 them, place this in your [mozconfig]:
45         ac_add_options --enable-artifact-builds
48 [remote/ in central]: https://searchfox.org/mozilla-central/source/remote
49 [mozconfig]: /build/buildsystem/mozconfigs.rst
50 [artifact builds]: /contributing/build/artifact_builds.rst
51 [Marionette]: /testing/marionette/index.rst