Commit Graph

6 Commits

Author SHA1 Message Date
Gregory Szorc
a015660155 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
203a9e64f9 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
Gregory Szorc
194f8b0246 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
060a0c42f9 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
d6ccd6209d Bug 794509 - Part 1: mach subcommands are now defined through Python decorators; r=jhammel 2012-10-05 12:12:51 -07:00
Gregory Szorc
d114857533 Bug 751795 - Part 1: mach, the new frontend to mozilla-central; r=jhammel 2012-09-26 09:43:54 -07:00