1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
.. _mach_usage:
==========
User Guide
==========
Mach is the central entry point for most operations that can be performed in
mozilla-central.
Command Help
------------
To see an overview of all the available commands, run:
.. code-block:: shell
$ ./mach help
For more detailed information on a specific command, run:
.. code-block:: shell
$ ./mach help <command>
If a command has subcommands listed, you can see more details on the subcommand
by running:
.. code-block:: shell
$ ./mach help <command> <subcommand>
Alternatively, you can pass ``-h/--help``. For example, all of the
following are valid:
.. code-block:: shell
$ ./mach help try
$ ./mach help try fuzzy
$ ./mach try -h
$ ./mach try fuzzy --help
Tab Completion
--------------
There are commands built-in to ``mach`` that can generate a fast tab completion
script for various shells. Supported shells are currently ``bash``, ``zsh`` and
``fish``. These generated scripts will slowly become out of date over time, so
you may want to create a cron task to periodically re-generate them.
See below for installation instructions:
Bash
~~~~
.. code-block:: shell
$ mach mach-completion bash -f _mach
$ sudo mv _mach /etc/bash_completion.d
Bash (homebrew)
~~~~~~~~~~~~~~~
.. code-block:: shell
$ mach mach-completion bash -f $(brew --prefix)/etc/bash_completion.d/mach.bash-completion
Zsh
~~~
.. code-block:: shell
$ mkdir ~/.zfunc
$ mach mach-completion zsh -f ~/.zfunc/_mach
then edit ~/.zshrc and add:
.. code-block:: shell
fpath+=~/.zfunc
autoload -U compinit && compinit
You can use any directory of your choosing.
Zsh (oh-my-zsh)
~~~~~~~~~~~~~~~
.. code-block:: shell
$ mkdir $ZSH/plugins/mach
$ mach mach-completion zsh -f $ZSH/plugins/mach/_mach
then edit ~/.zshrc and add 'mach' to your enabled plugins:
.. code-block:: shell
plugins(mach ...)
Zsh (prezto)
~~~~~~~~~~~~
.. code-block:: shell
$ mach mach-completion zsh -f ~/.zprezto/modules/completion/external/src/_mach
Fish
~~~~
.. code-block:: shell
$ ./mach mach-completion fish -f ~/.config/fish/completions/mach.fish
Fish (homebrew)
~~~~~~~~~~~~~~~
.. code-block:: shell
$ ./mach mach-completion fish -f (brew --prefix)/share/fish/vendor_completions.d/mach.fish
User Settings
-------------
Some mach commands can read configuration from a ``machrc`` file. The default
location for this file is ``~/.mozbuild/machrc`` (you'll need to create it).
This can also be set to a different location by setting the ``MACHRC``
environment variable.
For a list of all the available settings, run:
.. code-block:: shell
$ ./mach settings
The settings file follows the ``ini`` format, e.g:
.. code-block:: ini
[alias]
eslint = lint -l eslint
[build]
telemetry = true
[try]
default = fuzzy
.. _bash completion: https://searchfox.org/mozilla-central/source/python/mach/bash-completion.sh
|