Commit Graph

77 Commits

Author SHA1 Message Date
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
Ryan VanderMeulen
7bd581fd2e Merge m-c to inbound. 2012-11-07 20:48:51 -05:00
Ryan VanderMeulen
50c3369029 Merge the last PGO-green inbound changeset to m-c. 2012-11-07 20:08:02 -05: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
Ehsan Akhgari
2305a6fff8 Merge mozilla-central into mozilla-inbound 2012-11-07 17:24:27 -05:00
Ted Mielczarek
1f793ca130 bug 803654 - Import mock into virtualenv. r=jhammel 2012-10-29 11:12:30 -04:00
Ryan VanderMeulen
a7d45f8d16 Merge m-c to inbound. 2012-11-02 16:11:46 -04:00
Freddie F. Haddad
b857e39ff6 Bug 803990 - Add Gentoo to mozboot; r=gps
DONTBUILD (NPOTB)

--HG--
extra : rebase_source : f5c73f1942b71bd0f47a43241c13ef7d7a4fd8d4
2012-11-01 17:06:00 -07:00
Gregory Szorc
c896275503 Bug 805835 - Update virtualenv to fix lib64 path issues; r=glandium
The following commits were cherry-picked from virtualenv's Git
repository from the develop branch:

0da2c50eafbf6841afad078e04aa873780905b99
e1ec5f3b9f5c3cfa533f5ce440d7ac251c14ad7d
da95f04065328a98d16bcad1e9ad0e89f3a41ebe

These should hopefully be part of virtualenv 1.8.3, whenever it is
released.

--HG--
extra : rebase_source : c759ea0d2874c17e39436780d5953f0c2cfaadee
2012-11-02 10:33:56 -07:00
Gregory Szorc
eb32b8572e Bug 795769 - Add "bootstrap" command to mach; r=ted
The command is currently just a proxy into mozboot.

DONTBUILD (NPOTB)
2012-10-10 17:17:00 -07:00
Gregory Szorc
39d79750c9 Bug 805127 - Upgrade virtualenv to 1.8.2; r=ted
Upstream tarball uncompressed in python/virtualenv. egg-info directory
was deleted. All other files are unchanged.
2012-10-24 14:25:40 -07:00
Gregory Szorc
fdb27c7386 Bug 800633 - Clean up references to code moved out of mozbuild; r=jhammel
DONTBUILD (NPOTB)
2012-10-11 17:13:18 -07: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
Ms2ger
f2f23df435 Bug 799648 - Followup: Remove a line accidentally left in; r=gps (NPOTB, DONTBUILD) 2012-10-11 21:47:11 +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
03f6510b34 Bug 799291 - Part 3: Move mozbuild.testing into testing/; r=jhammel
--HG--
rename : python/mozbuild/mozbuild/testing/test.py => testing/moztesting/util.py
2012-10-10 11:08:09 -07:00
Gregory Szorc
035ceeeba3 Bug 799291 - Part 2: Remove "test" command from mach; r=jhammel
The command was practically worthless and will likely be reborn as a
generic "run a test by specific a path or special name" command. But,
that requires a more intelligent build system first.
2012-10-10 11:08:09 -07:00
Gregory Szorc
3dd8150678 Bug 799291 - Part 1: Move mach commands for test running into test runners; r=jhammel
The code interacting with the test runners now resides in closer
proximity to the code it is invoking. We also purge testing
functionality from mozbuild, which is where it never really belonged.

--HG--
rename : python/mozbuild/mozbuild/testing/reftest.py => layout/tools/reftest/mach_commands.py
rename : python/mozbuild/mozbuild/testing/mochitest.py => testing/mochitest/mach_commands.py
rename : python/mozbuild/mozbuild/testing/xpcshell.py => testing/xpcshell/mach_commands.py
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
Masatoshi Kimura
a456be81da Bug 795670 - Don't raise exception on convertion failure. r=gps DONTBUILD (NPOTB) 2012-10-07 16:30:13 -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
Gregory Szorc
7b9cdd0f3b Bug 796840 - Don't have mozprocess worry about process children when running make; r=jhammel
DONTBUILD (NPOTB)
2012-10-04 17:23:06 -07:00
Ehsan Akhgari
d3c97746ef Bug 797093 - Fix running mochitests through mach; r=gps
DONTBUILD
2012-10-02 17:03:31 -04: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
Ms2ger
f838deea24 Bug 780698 - Part a: Give _run_make append_env and explicit_env arguments; r=gps 2012-10-02 10:24:11 +02:00
Ms2ger
30159adc3b Bug 795034 - Fix append_env argument to mozbuild's _run_command; 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
2f77dd77e6 Bug 795477 - Install NullHandler on root logger; r=jhammel 2012-10-01 11:08:53 -07:00
Gregory Szorc
bf236c89e7 Bug 795491 - Improve mach's help text; r=jhammel 2012-10-01 11:06:40 -07:00
Gregory Szorc
d759b79ad8 Bug 794713 - Convert process output to Unicode; handle Unicode in logger properly; r=glandium
DONTBUILD (NPOTB)
2012-09-28 10:29:32 -07:00
Gregory Szorc
2b947c3c7f Bug 794729 - Run config.guess and mozconfig through shell; r=glandium
DONTBUILD (NPOTB)
2012-09-27 10:12:48 -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
c02cbd5bdc Bug 751795 - Part 4: Add flags to _run_make to control behavior; r=jhammel 2012-09-26 16:40:14 -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