Граф коммитов

139 Коммитов

Автор SHA1 Сообщение Дата
Gregory Szorc 16347a2b0d Bug 1108399 - Handle help on mach sub-commands; r=ahal
--HG--
extra : rebase_source : b0a0ce3f5f6bf31ee3e0cd7d7cfd3be0fa9db598
extra : histedit_source : 2aee6a7bba61ce8074df1ed5edcd7fc2d27c5bf8
2014-12-06 22:39:32 -08:00
Gregory Szorc df110b64e1 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.

--HG--
extra : rebase_source : 2057266a1ed4d86b1ca857712cd279bdfbd32148
extra : histedit_source : 8f2b7ec06e5b72ab08586902c51c3025a53259e6
2014-12-07 11:56:31 -08:00
Gregory Szorc 803634a62d 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.

--HG--
extra : rebase_source : 32a672ff3ba7a1a1c8c27dff3fe657dec08e3569
extra : histedit_source : 2bb2c27ae0e2dab052a6ef93b0a70f488f8cd56e
2014-12-07 11:40:39 -08:00
Gregory Szorc 04824e5fc7 Bug 1108399 - Properly name command help function; r=ahal
We will soon have proper sub-commands. Let's fix function names.

--HG--
extra : rebase_source : 1cb0c008ecc0d2159dd799e76adad4892d65f119
extra : histedit_source : 9472b2d2609224b011eca04385cf9d5a49986864
2014-12-06 21:58:46 -08:00
Gregory Szorc fed897ef4e Bug 1108399 - Remove outdated comment about hooking up conditional commands; r=ahal
mach conditions are implemented elsewhere. This comment can die.

--HG--
extra : rebase_source : c956d5af7858d997a1f49f3b24bb54e5f8a52240
extra : histedit_source : 76b8155b12ab0ea86e16e807b1c6f691cb8f3640
2014-12-06 21:53:16 -08:00
Gregory Szorc 32794223fa Bug 1108399 - Fix docs for mach decorators; r=ahal
Documentation was referencing sub commands. The proper terminology is
"command."

--HG--
extra : rebase_source : aa2fc73c6141850109324fd5299491e49ef29e91
extra : histedit_source : da075bea5a36a9de81527d93a9fc751cd6cae9b2
2014-12-06 21:15:27 -08:00
Gregory Szorc cd12686186 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.

--HG--
extra : rebase_source : 374be660084727eba1ce9181c2abf384f40eeb82
extra : histedit_source : bfa8de9b7a277666d92ebe71cd64ffed96628518
2014-12-07 11:37:54 -08:00
Gregory Szorc e6f5b57c9e 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.

--HG--
rename : python/mach/docs/index.rst => python/mach/docs/commands.rst
rename : python/mach/docs/index.rst => python/mach/docs/driver.rst
rename : python/mach/docs/index.rst => python/mach/docs/logging.rst
extra : rebase_source : 484d60327568333fcb0069e1f3444dc6db4322c0
extra : histedit_source : 18d09ac2e2e93565661763b6567f7a46226735f5
2014-12-07 11:34:06 -08:00
Gregory Szorc f19342d346 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.

--HG--
extra : rebase_source : 974337316dc87c04aca79a9e4a0d464490e5cdd4
extra : histedit_source : db87e8e5cb7c9c1969fd89e58c39623862684a6a
2014-12-07 11:23:46 -08:00
Gregory Szorc c296a9c285 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.

--HG--
rename : python/mach/README.rst => python/mach/docs/index.rst
extra : rebase_source : 68a08bebaa5b99ca39e250fa1ed60ca4d7d0af68
extra : histedit_source : 6afda2fece486547192c1c8eba97a2474e3d99c1
2014-12-07 10:40:19 -08:00
Gregory Szorc 6bcfb690b5 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.

--HG--
extra : rebase_source : 5ebfa7f5fd89f96dac5f7cb035ab520c63b32e55
extra : amend_source : c53c988763c328020b49aa5c6245df685b6f30bc
2014-12-05 10:19:49 -08:00
Nicholas Nethercote ad552dd048 Bug 1077272 - Allow argument groups in mach commands. r=gps.
--HG--
extra : rebase_source : 478b305eedac6d30af748d80da408042aba48c14
2014-10-08 15:11:50 -07:00
Mike Hommey 417a2977b3 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 85ea4a47c6 Bug 1057694 - Command suggestions in mach. r=gps 2014-08-26 16:17:00 +02:00
Sylvestre Ledru 06c5b7516f Bug 1051987 - Remove useless option which wasn't supposed to go in the commit
--HG--
extra : amend_source : 83ccc90a5ee1b0a41640d2b1451208add8dc2c5d
2014-08-18 15:33:51 +02:00
Sylvestre Ledru d257c5c025 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 804eecce0c 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.

--HG--
extra : rebase_source : aeb6c99a945eaff32cf86fa481d03c0c8dee593a
extra : amend_source : f1e29385bf8ca8ac250a04f81e7e955c4152b476
2014-07-24 11:35:15 -07:00
Mike Hommey 4474b717c2 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 191268a9b5 Bug 1020514 - Make mach colorize lines that start with REFTEST TEST-UNEXPECTED-FAIL etc. r=gps.
--HG--
extra : rebase_source : 30d85f6d46894753d925c4189b598de034014fe6
2014-06-20 12:01:03 -05:00
Markus Stange 8ea75a0b24 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 c68c0acedb Bug 996823 - Let mach pass-through subprocesses handle Ctrl-C themselves. r=mshal 2014-05-23 07:22:51 +09:00
Ting-Yu Lin 71e1eceed8 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 696d8e1c29 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.

--HG--
extra : rebase_source : 1f326a9bbd7ee0e8e12ff33f49d8484cc244c42d
2014-01-09 11:20:41 -08:00
Gregory Szorc 62c47d4190 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.

--HG--
extra : rebase_source : 4b14487d9aff98247464e0b0c08b4fc5cfbd862a
2014-01-08 16:14:39 -08:00
Gregory Szorc c5265350aa NO BUG - Synchronize mach documentation with upstream repo
DONTBUILD (NPOTB)

--HG--
extra : rebase_source : 07831414dcc182b57a6d7844f8eb2e136f1b636d
extra : amend_source : b8bc9cd1146f82d3e36bbd2846442d13989eefe4
2014-01-08 15:29:43 -08:00
James Graham f7a080f278 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 7bd44eecd2 Bug 950957 - Use ${COMP_WORDS[0]} for completion in mach. r=gps 2013-12-19 11:42:19 -05:00
Andrew Halberstadt 63c53ee123 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 4fb543fa21 Backed out changeset 5cb5fdb72e55 (bug 942275) for mach bustage.
CLOSED TREE DONTBUILD
2013-12-03 11:13:26 -05:00
Andrew Halberstadt d51a9f0774 Bug 942275 - Add support for setuptools' entry points to mach, r=gps 2013-12-03 10:37:20 -05:00
Andrew Halberstadt 9eaa56c6c4 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 4d80a8348f Bug 924977 - More proper current working directory handling in mach; r=ahal 2013-10-11 12:44:15 -07:00
Sebastiaan de Haan 2612cf4654 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 fd57d81de1 Bug 923039 - Normalize unicode environment variables to bytes; r=mbrubeck 2013-10-02 18:40:06 +02:00
Drew Willcoxon 22aea86aa7 Bug 920299 - Make Mach logger colorize TEST-START and TEST-INFO. r=gps 2013-09-26 11:04:46 -07:00
Gregory Szorc 6387b17cf3 Bug 847175 - mach mode to not prefix lines with times; r=ted
DONTBUILD (NPOTB)
2013-09-20 09:27:19 -07:00
Gregory Szorc 12d575f3db 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 65d6003c28 Bug 901972 - Add ability to filter mach commands at runtime, r=gps 2013-08-26 17:33:10 -04:00
Andrew Halberstadt 02163ee09b 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 58177c47ea Bug 894197 - Define state directory in mach context object; r=jhammel
DONTBUILD (NPOTB)
2013-07-15 19:56:15 -07:00
Gregory Szorc 9b2727baba 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 8bced55b3b 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 36eed3e6db 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 2a834196e7 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 1f808bd8c9 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 256d6a4bf4 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 30e5ae9b11 No bug - Fix mach's highlighting of 'TEST-UNEXPECTED-FAIL'; oy-r=gps 2013-05-10 09:13:32 +02:00
Gregory Szorc 298c09657e Bug 856392 - Categorize mach commands; r=jhammel
DONTBUILD (NPOTB)
2013-05-08 17:56:30 -07:00
Gregory Szorc 3e0e163c34 Bug 857984 - mach mochitest now colorizes and prints failure summary; r=Ms2ger 2013-04-04 15:17:23 -07:00
Ms2ger 124aabc9f4 Backout changeset e1bddda508fe for double logging when running mochitests through mach. 2013-04-07 10:11:11 +02:00
Gregory Szorc 5d06e0201d Bug 857984 - mach mochitest now colorizes and prints failure summary; r=Ms2ger
--HG--
extra : rebase_source : 97900c2bf0aaa83a3a9fa5e4dc88901140f66e60
2013-04-04 15:17:23 -07:00
Matt Brubeck d6d05c27d4 Bug 841445 - Make 'mach help <command>' call print_help directly [r=gps]
DONTBUILD (not part of the build)
2013-03-26 11:15:08 -07:00
Daniel Holbert 5bce0161ab Bug 854058: Fix typo in mach error message: s/occured/occurred/. r=gps DONTBUILD 2013-03-22 22:02:37 -07:00
Matt Brubeck fb6866e656 Bug 853225 - Fix the mach usage line for subcommands [r=gps]
DONTBUILD (not part of the build)
2013-03-20 17:53:34 -07:00
Gregory Szorc f757ba542c Bug 846409 - Add |mach mach-debug-commands|; r=jhammel
DONTBUILD (NPOTB)
2013-03-04 10:18:48 -08:00
Gregory Szorc 1ea7cbf0a3 Bug 818777 - Switch to NamedTemporaryFile from mozfile; r=ted
This version works with Windows.
2012-12-20 16:11:35 -08:00
Gregory Szorc b90f244f8b Bug 818649 - Ensure mach logs are written to log file; r=jhammel
DONTBUILD (NPOTB)
2012-12-07 11:44:11 -08:00
Gregory Szorc 76c6d0c01e Bug 818366 - Ability to pass through file descriptors to child processes; r=jhammel 2012-12-05 14:22:58 -08:00
Gregory Szorc 047d37efb9 Bug 810742 - Handle callee thrown exceptions when invoking a mach command; r=jhammel 2012-12-05 14:21:58 -08:00
Gregory Szorc 5a8419ee85 Bug 818628 - Handle long exit code values; r=edmorley
DONTBUILD (NPOTB)
2012-12-05 12:32:09 -08:00
Gregory Szorc 4c6884173e Bug 814075 - Remove reference to mach test, fix help usage; r=me
DONTBUILD (NPOTB)
2012-11-21 10:25:44 -08:00
Gregory Szorc 9eac13abf3 Bug 797471 - Handle mochitest failures gracefully in mach; r=Ms2ger 2012-11-14 12:56:02 -08:00
Cameron McCormack 379329a092 Bug 809650 - Handle mach @CommandArguments in the right order. DONTBUILD (NPOTB) r=gps 2012-11-08 10:21:43 +11:00
Gregory Szorc ae6b6a8049 Bug 809544 - mach now prints elapsed time as MM:SS; r=jhammel 2012-11-07 11:54:41 -08:00
Gregory Szorc 26d1f2eb12 Bug 807974 - Handle make errors more gracefully; r=jhammel
We now return the status code from executed processes. The API to
require a successful status code has been changed from ignore_errors to
ensure_exit_code. The build mach command no longer spews a stack trace
if make fails.

DONTBUILD (NPOTB)
2012-11-06 17:01:08 -08:00
Gregory Szorc 57be670bf6 Bug 808346 - Don't scan sys.path to discover mach commands; r=jhammel
All mach modules are now explicitly listed in the mach driver.

--HG--
rename : python/mozbuild/mach/commands/build.py => python/mozbuild/mozbuild/mach_commands.py
2012-11-06 17:00:19 -08:00
Gregory Szorc fff0f2c942 Bug 808336 - Part 2: Discover mach settings providers via decorators; r=jhammel
With this patch, mach is now decoupled from the build system and is
truly a generic command dispatching framework.
2012-11-06 16:58:13 -08:00
Gregory Szorc 262077ed01 Bug 808336 - Part 1: Refactor mach command handler management; r=jhammel
Previously we were tighly coupled with MozbuildObject. This was not in
the spirit of mach being a generic tool. Now, instead of passing multiple
arguments to __init__ of the class providing the mach command we either
pass 0 or 1. The number of arguments is detected when processing the
@CommandProvider decorator. The optional argument is a named tuple
containing mach run-time state.

Capturing of mach command provider information is now captured in a
class (as opposed to an anoymous tuple). We also capture these in a rich
data structure which is passed as part of the run-time data to the
command provider class. This allows mach commands to inspect the mach
environment.

Mach decorators have been moved to mach.decorators. mach.base is
reserved for generic mach data/container classes.

Existing mach command classes derived from MozbuildObject have been
replaced with either object or mozbuild.base.MachCommandBase. This
latter class translates the mach context instance passed to __init__
into the constructor arguments for MozbuildObject.__init__.

Support for registering function handlers with mach has been removed.
All handlers must be inside classes.

--HG--
rename : python/mach/mach/base.py => python/mach/mach/decorators.py
2012-11-06 16:57:41 -08:00
Ms2ger 0b8c6fe6b1 Bug 799648 - Followup followup: Add the line back where it was meant to be; r=gps (NPOTB, DONTBUILD) 2012-10-11 22:00:37 +02:00
Gregory Szorc 5dc05ddbc1 Bug 799648 - Part 4: Temporarily disable settings file integration; r=jhammel
DONTBUILD (NPOTB)
2012-10-10 11:09:21 -07:00
Gregory Szorc 53f46d2389 Bug 799648 - Part 3: Move config module from mozbuild to mach; r=jhammel
--HG--
rename : python/mozbuild/mozbuild/config.py => python/mach/mach/config.py
rename : python/mozbuild/mozbuild/test/test_config.py => python/mach/mach/test/test_config.py
2012-10-10 11:08:10 -07:00
Gregory Szorc 41082edccd Bug 799648 - Part 2: Move mozbuild's log manager into mach; r=jhammel
--HG--
rename : python/mozbuild/mozbuild/logger.py => python/mach/mach/logging.py
rename : python/mozbuild/mozbuild/test/test_logger.py => python/mach/mach/test/test_logger.py
2012-10-10 11:08:09 -07:00
Gregory Szorc f0bba46079 Bug 799648 - Part 1: Move process execution and logging methods into Mach mixin classes; r=jhammel 2012-10-10 11:08:09 -07:00
Gregory Szorc 8529433a95 Bug 799312 - Implement |mach help <command>|; r=jhammel
Previously you had to |mach <command> --help|. Both forms now work.
2012-10-10 11:08:09 -07:00
Gregory Szorc c998968a1b Bug 795427 - Part 3: Print more user friendly error messages; r=jhammel 2012-10-10 11:08:09 -07:00
Gregory Szorc 875a861646 Bug 799262 - Formal API for loading mach command modules; r=jhammel 2012-10-10 11:08:09 -07:00
Gregory Szorc 121d387bf6 Bug 794509 - Part 3: Automatically discover mach commands in sys.path; r=jhammel
DONTBUILD (NPOTB)
2012-10-05 12:19:19 -07:00
Gregory Szorc 0fdac85994 Bug 794509 - Part 2: Move mach command modules into a mach.commands sub-module; r=jhammel
This patch on its own will break mach. Part 3 will refactor mach's
loader to discover and load modules using a modified module finding
method.

--HG--
rename : python/mach/mach/settings.py => python/mach/mach/commands/settings.py
rename : python/mach/mach/build.py => python/mozbuild/mach/commands/build.py
rename : python/mach/mach/testing.py => python/mozbuild/mach/commands/testing.py
rename : python/mach/mach/warnings.py => python/mozbuild/mach/commands/warnings.py
2012-10-05 12:13:18 -07:00
Gregory Szorc ad06cd046e Bug 794509 - Part 1: mach subcommands are now defined through Python decorators; r=jhammel 2012-10-05 12:12:51 -07:00
Gregory Szorc 5f3beb48f2 Bug 795427 - Part 2: Terminate mach silently when KeyboardInterrupt is raised; r=jhammel
DONTBUILD (NPOTB)
2012-10-04 17:43:56 -07:00
Gregory Szorc 66a56c8a6b Bug 795427 - Part 1: Proper exit codes from mach; r=jhammel 2012-10-04 17:43:54 -07:00
Ms2ger 388bca7c1d Bug 780698 - Part c: Support mochitest-a11y, reftest, crashtest in mach; r=gps 2012-10-02 10:24:12 +02:00
Ms2ger 962ca363fa Bug 780698 - Part b: Fix mochitest runners; r=gps 2012-10-02 10:24:11 +02:00
Gregory Szorc 786ec14573 Bug 795394 - Default to utf-8 encoding when no encoding is specified; r=jhammel
DONTBUILD (NPOTB)
2012-10-01 11:12:33 -07:00
Gregory Szorc bf236c89e7 Bug 795491 - Improve mach's help text; r=jhammel 2012-10-01 11:06:40 -07:00
Gregory Szorc a87cda10c4 Bug 751795 - Part 5: mach can now build the tree, record compiler warnings; r=jhammel
This is meant to be a stop-gap until more robust tree building lands in
mozbuild. It simply proxies building through client.mk and captures
compiler warnings using the existing mechanism in mozbuild.

There are some DRY violations for how the compiler database is managed.
The more robust tree building code contains consolidated compiler
database logic. The DRY violations should disappear when that lands.

DONTBUILD (NPOTB)
2012-09-26 16:42:38 -07:00
Gregory Szorc 74643c5201 Bug 751795 - Part 3: Testing module; r=jhammel DONTBUILD (NPOTB)
mach can now run some tests.
2012-09-26 09:46:27 -07:00
Gregory Szorc 6a39b9e0a4 Bug 751795 - Part 2: Add settings module; r=jhammel 2012-09-26 09:44:38 -07:00
Gregory Szorc 60111d5545 Bug 751795 - Part 1: mach, the new frontend to mozilla-central; r=jhammel 2012-09-26 09:43:54 -07:00