This removes ambiguity as to which modules are being imported, making
import slightly faster as Python doesn't need to test so many
directories for file presence.
All files should already be using absolute imports because mach command
modules aren't imported to the package they belong to: they instead
belong to the "mach" package. So relative imports shouldn't have been
used.
Back when mozpack.path was added, it was used as:
import mozpack.path
mozpack.path.func()
Nowadays, the common idiom is:
import mozpack.path as mozpath
mozpath.func()
because it's shorter.
$ git grep mozpath\\. | wc -l
423
$ git grep mozpack.path\\. | wc -l
123
This change was done with:
$ git grep -l mozpack.path\\. | xargs sed -i 's/mozpack\.path\./mozpath./g'
$ git grep -l 'import mozpack.path$' | xargs sed -i 's/import mozpack.path$/\0 as mozpath/'
$ (pat='import mozpack.path as mozpath'; git grep -l "$pat" | xargs sed -i "1,/$pat/b;/$pat/d")
We previous added support for RBTools in bug 943747 and bug 945577. Now
that we have MozReview, this functionality is next to useless. MozReview
is the future. So, we remove the old RBTools code.
DONTBUILD (NPOTB)
--HG--
extra : rebase_source : 2b307c31a5c484cb0bd785f582e3c248c3cb11da
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