Commit Graph

92 Commits

Author SHA1 Message Date
Gregory Szorc
c26a49ed7e Bug 1129798 - Use pdb.runcall to debug mach commands; r=ahal
The previous debugger was setting a breakpoint in the mach dispatcher.
This required users to step into the main function to be called into.
Using pdb.runcall(), the debugger starts at the first line in the
executed command, which is far more useful.
2015-02-04 22:49:06 -08:00
Gregory Szorc
5724222212 Bug 1115278 - Fix mach documentation issues; r=glandium
terminal.py had an ambiguous |import logging| that was importing
mach.logging from Sphinx. We fix it.

There was also a poorly formed link in the mach commands documentation.
We fix it.
2014-12-24 10:26:34 -08:00
Gregory Szorc
122658253a Bug 1108399 - Implement mach sub-command dispatching; r=ahal 2014-12-06 22:33:12 -08:00
Gregory Szorc
9a9ca81a03 Bug 1108399 - Handle help on mach sub-commands; r=ahal 2014-12-06 22:39:32 -08:00
Gregory Szorc
83d847a354 Bug 1108399 - Split command group populating into own function; r=ahal
An upcoming patch will reuse this code. Split it out into its own
function.
2014-12-07 11:56:31 -08:00
Gregory Szorc
5c9c715038 Bug 1108399 - Introduce decorator for mach sub-commands; r=ahal
With this patch, we now have the ability to declare mach sub-commands.
Subsequent patches will implement dispatching for sub-commands.
2014-12-07 11:40:39 -08:00
Gregory Szorc
cab32f370f Bug 1108399 - Properly name command help function; r=ahal
We will soon have proper sub-commands. Let's fix function names.
2014-12-06 21:58:46 -08:00
Gregory Szorc
06c94040fe Bug 1108399 - Remove outdated comment about hooking up conditional commands; r=ahal
mach conditions are implemented elsewhere. This comment can die.
2014-12-06 21:53:16 -08:00
Gregory Szorc
318fd6e02d Bug 1108399 - Fix docs for mach decorators; r=ahal
Documentation was referencing sub commands. The proper terminology is
"command."
2014-12-06 21:15:27 -08:00
Gregory Szorc
5af0c6abf1 Bug 1108399 - Properly link to Python docs; r=ahal
There were a few parts of the docs that were linking to Python types
incorrectly. Let's fix that.
2014-12-07 11:37:54 -08:00
Gregory Szorc
bfe6799d76 Bug 1108399 - Split mach documentation into multiple articles; r=ahal
The main mach docs page is a bit long. Let's split it into multiple
articles to increase readability going forward.
2014-12-07 11:34:06 -08:00
Gregory Szorc
39a76e34a5 Bug 1108399 - Improve code linking in mach docs; r=ahal
Now that mach's docs are part of a proper Sphinx install, link to
Python type docs. While we're here, we also clean up formatting of code
samples.
2014-12-07 11:23:46 -08:00
Gregory Szorc
907c3c2ef9 Bug 1108399 - Move mach docs into sphinx; r=ahal
mach has restructured text documentation. Let's expose it to the in-tree
Sphinx config so we can increase visibility of the documentation.
2014-12-07 10:40:19 -08:00
Gregory Szorc
f7ae0b6d2f Bug 1107968 - Add --debug-command to mach; r=ahal
People often seek to learn how mach commands work. A common way to do
this is to launch a debugger and step through the code as it is
executing. But this requires someone to first find and modify the mach
command. This involves overhead.

This patch adds a global --debug-command argument to mach. When present,
we launch an interactive debugger right before command dispatch. This
allows people to easily enter a debugger to see what mach commands are
doing, hopefully lowering the barrier to understanding and contributing.
2014-12-05 10:19:49 -08:00
Nicholas Nethercote
5645be40ed Bug 1077272 - Allow argument groups in mach commands. r=gps. 2014-10-08 15:11:50 -07:00
Mike Hommey
711c2629f1 Bug 1076649 - Remove the '+' prefixing from mach commands with allow_all_arguments=True. r=gps
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.
2014-10-07 07:36:27 +09:00
Ahmed Kachkach
ed94ab0fae Bug 1057694 - Command suggestions in mach. r=gps 2014-08-26 16:17:00 +02:00
Sylvestre Ledru
4198ca2238 Bug 1051987 - Remove useless option which wasn't supposed to go in the commit 2014-08-18 15:33:51 +02:00
Sylvestre Ledru
f289e45cd4 Bug 1051987 - By default, hide the disabled commands. They are eating the display for no value. $ ./mach -v help bring them back. r=jmaher
From 7c2de97792113d3415acf2cfa1591fa05c5b07a8 Mon Sep 17 00:00:00 2001
 display for no value. $ ./mach -v help bring them back.
---
 build/mach_bootstrap.py        |  2 +-
 python/mach/mach/dispatcher.py | 14 +++++++-------
 python/mach/mach/main.py       |  3 +++
 3 files changed, 11 insertions(+), 8 deletions(-)
2014-08-11 18:31:24 +02:00
Gregory Szorc
2a36e1785d Bug 1043524 - Define group variable is an existing parser is passed; r=jgraham
While I was here, I removed the try..except in favor of failing fast.
Before, we were only making cosmetic changes. Now, we actually need the
group for mach to work. It makes sense to stop ignoring errors.

This fixes a regression from d53d1c6cdf13 / bug 951733.
2014-07-24 11:35:15 -07:00
Mike Hommey
4d4669852a Bug 1030717 - Don't try to create the mach state directory until it's actually needed. r=gps 2014-07-03 07:15:31 +09:00
Jason Orendorff
7b220a0ee9 Bug 1020514 - Make mach colorize lines that start with REFTEST TEST-UNEXPECTED-FAIL etc. r=gps. 2014-06-20 12:01:03 -05:00
Markus Stange
227f9e8049 Bug 1019944 - mach logging shouldn't eat whitespace at the start of the line. r=gps 2014-06-25 10:35:32 +02:00
Mike Hommey
1808ddd54a Bug 996823 - Let mach pass-through subprocesses handle Ctrl-C themselves. r=mshal 2014-05-23 07:22:51 +09:00
Ting-Yu Lin
4f33718fa7 Bug 995847 - Add -h and --help support to mach. r=glandium
* |mach --help| prints the global help message as |mach help|.
* |mach command --help| prints the command help message as
  |mach help command|.
2014-05-06 19:10:00 +02:00
Gregory Szorc
d9f659019e Bug 909522 - Run mach's unit tests as part of make check; r=mshal
test_entry_point.py is not enabled because the test fails. This is
tracked by bug 958196.
2014-01-09 11:20:41 -08:00
Gregory Szorc
17d47a7016 Bug 957856 - Synchronize mach with upstream repository; r=ahal
The test changes and setup.py are NPOTB. base.py and main.py
added a new feature to declare global arguments.
2014-01-08 16:14:39 -08:00
Gregory Szorc
161b2f2016 NO BUG - Synchronize mach documentation with upstream repo
DONTBUILD (NPOTB)
2014-01-08 15:29:43 -08:00
James Graham
d5a8ab4a78 Bug 951733 - Support passing an existing argparse.ArgumentParser to mach in order to populate the command arguments. r=gps 2014-01-03 11:32:53 +00:00
Martin Thomson
0b7d70e8d4 Bug 950957 - Use ${COMP_WORDS[0]} for completion in mach. r=gps 2013-12-19 11:42:19 -05:00
Andrew Halberstadt
03bc411bbe Bug 942275 - Add support for setuptools' entry points to mach, r=gps
* * *
Bug 942275 - Ignore load_from_entry_point if setuptools not present, r=gps
2013-12-06 09:24:09 -05:00
Ryan VanderMeulen
d1f788c340 Backed out changeset 5cb5fdb72e55 (bug 942275) for mach bustage.
CLOSED TREE DONTBUILD
2013-12-03 11:13:26 -05:00
Andrew Halberstadt
b8f10bbcfe Bug 942275 - Add support for setuptools' entry points to mach, r=gps 2013-12-03 10:37:20 -05:00
Andrew Halberstadt
169d44777c Bug 926607 - Make sure disabled category exists before dumping commands in it, r=jgriffin, DONTBUILD, a=NPOTB 2013-10-15 14:25:43 -04:00
Gregory Szorc
fa4e7eeda2 Bug 924977 - More proper current working directory handling in mach; r=ahal 2013-10-11 12:44:15 -07:00
Sebastiaan de Haan
d1f55b3db4 Bug 908868 - Add code to the 'mach help' command to show disabled commands. r=gps 2013-10-11 13:41:25 -04:00
Gregory Szorc
ab33b1236a Bug 923039 - Normalize unicode environment variables to bytes; r=mbrubeck 2013-10-02 18:40:06 +02:00
Drew Willcoxon
a3c792c3e7 Bug 920299 - Make Mach logger colorize TEST-START and TEST-INFO. r=gps 2013-09-26 11:04:46 -07:00
Gregory Szorc
faa4a4388c Bug 847175 - mach mode to not prefix lines with times; r=ted
DONTBUILD (NPOTB)
2013-09-20 09:27:19 -07:00
Gregory Szorc
44304450b0 Bug 912231 - Allow mach commands to easily dispatch to other mach commands; r=jhammel
DONTBUILD (NPOTB)
2013-09-05 15:41:45 -07:00
Andrew Halberstadt
8d9288cd37 Bug 901972 - Add ability to filter mach commands at runtime, r=gps 2013-08-26 17:33:10 -04:00
Andrew Halberstadt
f99a6dbcda Bug 902002 - Don't display mach categories in help if no commands exist under them, r=gps, DONTBUILD, a=NPOTB 2013-08-07 15:17:08 -04:00
Gregory Szorc
8b11cbd607 Bug 894197 - Define state directory in mach context object; r=jhammel
DONTBUILD (NPOTB)
2013-07-15 19:56:15 -07:00
Gregory Szorc
9a759bb043 Bug 879406 - Unbust |mach help| when arguments are not prefixed with '-'; r=ted
DONTBUILD (NPOTB)
2013-06-14 09:44:33 -07:00
Gregory Szorc
1294f4c9a2 Bug 878089 - mach shouldn't fail if terminal couldn't be configured; r=ted
DONTBUILD (NPOTB)
2013-06-10 16:16:25 -07:00
Ehsan Akhgari
7574bb3bf1 Bug 878859 - Remove the mach clippy avatar; r=ted
DONTBUILD since this is not part of the build!
2013-06-03 15:46:23 -04:00
Gregory Szorc
804d49cffc Bug 874471 - Handle mach command help more robustly; r=ted
DONTBUILD (NPOTB) on a CLOSED TREE
2013-05-21 15:37:06 -07:00
Matt Brubeck
501caf39f4 Bug 799680 - Add a bash completion script for mach [r=gps]
DONTBUILD (not part of the build)
2013-05-15 17:00:01 -07:00
Matt Brubeck
96527b18a8 Bug 872807 - Make mach command names case-insensitive [r=gps]
DONTBUILD (not part of the build)
2013-05-15 16:58:11 -07:00
Ms2ger
83364042c7 No bug - Fix mach's highlighting of 'TEST-UNEXPECTED-FAIL'; oy-r=gps 2013-05-10 09:13:32 +02:00