зеркало из https://github.com/mozilla/gecko-dev.git
aaeaaec3dc
We want `mach run` for Android to be wildly different than `mach run` for Desktop. But right now, mach really doesn't support two different implementations of the same underlying named command. The avenues that might support different implementations, mostly run through `conditions`. `conditions` were added to mach commands in Bug 901972, and never really anticipated this use case: commands are keyed by name condition evaluation is delayed until dispatch-time. In order to have different commands with the same name, and have full support for `--help`, command matching, suggestions, etc, we really need conditions to evaluate at parse-time. Indeed, since Bug 901972 landed, we've moved context creation earlier in the dispatch flow and hacked in things that look like parse-time conditions (see Bug 1291335 and Bug 1305695). This approach is not the prettiest, but it handles this narrow use-case -- making `mach run` and `mach install` different on Android -- without much code churn. Differential Revision: https://phabricator.services.mozilla.com/D18290 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
docs | ||
mach | ||
README.rst | ||
bash-completion.sh | ||
setup.py |
README.rst
==== mach ==== Mach (German for *do*) is a generic command dispatcher for the command line. To use mach, you install the mach core (a Python package), create an executable *driver* script (named whatever you want), and write mach commands. When the *driver* is executed, mach dispatches to the requested command handler automatically. To learn more, read the docs in ``docs/``.