The reason to use '+' prefixing was to distinguish between options to the
mach command itself, and options that are passed down to whatever the
command does (like mach run passing down args to the built application).
That makes things unnecessarily awkward, and quite non-standard.
Instead, use standard '-' prefixing, and pass all the unknown arguments
down. If there is overlap between the known arguments and arguments supported
by the underlying tool (like -remote when using mach run), it is possible to
use '--' to mark all following arguments as being targetted at the underlying
tool.
For instance:
mach run -- -remote something
would run
firefox -remote something
while
mach run -remote something
would run
firefox something
As allow_all_arguments is redundant with the presence of a argparse.REMAINDER
CommandArgument, allow_all_arguments is removed. The only mach command with a
argparse.REMAINDER CommandArgument without allow_all_arguments was "mach dmd",
and it did so because it didn't want to use '+' prefixes.
We were previously installing a pre-release of RBTools from Git. The
patches we were waiting on are now in RBTools 0.6. So, install the
released version from PyPI.
DONTBUILD (NPOTB)
--HG--
extra : rebase_source : 0c3c13c6e9ec24ae7ebcabe5b2e4fa64441b2332
RBTools as released on PyPI has a number of bugs and deficiencies with
the Mercurial implementation. These have been fixed in an unreleased
version of RBTools.
Until RBTools with the desired patches is released to PyPI, we will
install RBTools direct from its source repository.
DONTBUILD (NPOTB)
--HG--
extra : rebase_source : 8fe09b80d8dd5583ba957b4525563cde678b3b3d
extra : amend_source : b41e0d492ff7d1f78bd0462782459c3dc8e95041