Commit Graph

102 Commits

Author SHA1 Message Date
Gregory Szorc
fd5055803b Bug 784841 - Part 2: Implement sandboxing for Python build files; r=ted,glandium
This is the beginning of Mozilla's new build system.

In this patch, we have a Python sandbox tailored for execution
of Python scripts which will define the build system. We also have a
build reader that traverses a linked set of scripts.

More details are available in the thorough README.rst files as part of
this patch.
* * *
Bug 784841 - Part 2b: Option to not descend into child moz.build files; r=ted
2013-01-15 22:21:21 -08:00
Gregory Szorc
86668a163d Bug 784841 - Part 1: Create generic container classes; r=jhammel
We create some specialized dicts that will be used in later patches.
2013-01-15 22:21:18 -08:00
Ms2ger
0c748a1319 Merge mozilla-central into build-system
--HG--
rename : content/html/content/public/nsHTMLCanvasElement.h => content/html/content/public/HTMLCanvasElement.h
rename : content/html/content/src/nsHTMLCanvasElement.cpp => content/html/content/src/HTMLCanvasElement.cpp
2013-01-06 11:58:19 +01:00
Ms2ger
2971a56b4b Merge mozilla-central into build-system 2013-01-04 21:21:29 +01:00
Ms2ger
8e99f82785 Merge mozilla-central into build-system 2013-01-03 10:46:16 +01:00
Chris Peterson
edf32019c2 Bug 826120 - mach's warning parser should not stop at first '['. r=gps
--HG--
extra : rebase_source : b752099f4f6da4ea05220f8120a5518ee39994ed
2013-01-02 16:33:46 -08:00
Gregory Szorc
486b6d72a9 Bug 818646 - Add mozbuild Python tests to |make check|; r=ted 2012-12-21 12:43:46 -08:00
Gregory Szorc
8821ce28f8 Bug 818777 - Switch to NamedTemporaryFile from mozfile; r=ted
This version works with Windows.
2012-12-20 16:11:35 -08:00
Nicholas Nethercote
711c752871 Bug 825820 - Call WarningsDatabase.prune at the end of Build(). r=gps.
--HG--
extra : rebase_source : aefe3d3e1e3f5edacbb83bb0c44031c1cfb200a1
2013-01-02 17:20:47 -08:00
Jorge Luis Mendez
d0c5183248 Bug 820285 - Use distutils.version.StrictVersion in OSX version tests; r=gps
DONTBUILD (NPOTB)
2012-12-12 19:56:48 -05:00
Jorge Luis Mendez
a8aeeaf408 Bug 820117 - Remove XQuartz from OS X prerequisites; r=gps
DONTBUILD (NPOTB)
2012-12-11 14:02:27 -08:00
Richard Newman
29e53949c6 Bug 820179 - Mach command for packaging. r=gps 2012-12-11 11:42:11 -08:00
Gregory Szorc
3c90f824e7 Bug 818649 - Ensure mach logs are written to log file; r=jhammel
DONTBUILD (NPOTB)
2012-12-07 11:44:11 -08:00
Gregory Szorc
a2f464a439 Bug 818656 - Normalize paths when loading mozconfigs; r=glandium
DONTBUILD (NPOTB)
2012-12-05 22:47:35 -08:00
Gregory Szorc
aeb01bc5bd Bug 803400 - Add clobber mach command; r=glandium
DONTBUILD (NPOTB)
2012-12-05 22:46:01 -08:00
Gregory Szorc
1045fbedcf Bug 818545 - Gracefully handle errors when loading mozconfigs; r=glandium
DONTBUILD (NPOTB)
2012-12-05 14:34:14 -08:00
Gregory Szorc
effb7c4ec4 Bug 818366 - Ability to pass through file descriptors to child processes; r=jhammel 2012-12-05 14:22:58 -08:00
Gregory Szorc
e57f6c26ce Bug 810742 - Handle callee thrown exceptions when invoking a mach command; r=jhammel 2012-12-05 14:21:58 -08:00
Gregory Szorc
fda723869f Bug 818628 - Handle long exit code values; r=edmorley
DONTBUILD (NPOTB)
2012-12-05 12:32:09 -08:00
Gregory Szorc
b33427cf95 Bug 818554 - Handle empty variables when parsing mozconfig output; r=glandium
DONTBUILD (NPOTB)
2012-12-05 11:20:59 -08:00
Gregory Szorc
1f8fb33d9c Bug 818543 - Define topsrcdir in mozbuild evaluation environment; r=glandium
DONTBUILD (NPOTB)
2012-12-05 10:20:42 -08:00
Gregory Szorc
cf31c1b995 Bug 808357 - Part 2: Implement mozconfig finding and loading in Python; r=glandium 2012-12-04 22:02:06 -08:00
Gregory Szorc
69b758cb78 Bug 808357 - Part 1: Split mozconfig code into own Python module; r=glandium
--HG--
rename : python/mozbuild/mozbuild/base.py => python/mozbuild/mozbuild/mozconfig.py
2012-12-04 22:02:03 -08:00
Benedict Singer
d431f5b098 Bug 794180 - Rich comparison operators instead of __cmp__; r=gps
DONTBUILD (NPOTB)

--HG--
extra : rebase_source : ae42b4711af58fdc04a55e00f3454c3825c1b311
2012-11-30 15:36:27 -05:00
Gregory Szorc
6c043cff64 Bug 814075 - Remove reference to mach test, fix help usage; r=me
DONTBUILD (NPOTB)
2012-11-21 10:25:44 -08:00
Gregory Szorc
286bd17a50 Bug 797471 - Handle mochitest failures gracefully in mach; r=Ms2ger 2012-11-14 12:56:02 -08:00
Ryan VanderMeulen
3d58f45fa0 Merge m-c to inbound. 2012-11-07 20:48:51 -05:00
Ryan VanderMeulen
535e459e51 Merge the last PGO-green inbound changeset to m-c. 2012-11-07 20:08:02 -05:00
Cameron McCormack
9602f337f2 Bug 809650 - Handle mach @CommandArguments in the right order. DONTBUILD (NPOTB) r=gps 2012-11-08 10:21:43 +11:00
Gregory Szorc
e7977769f9 Bug 809544 - mach now prints elapsed time as MM:SS; r=jhammel 2012-11-07 11:54:41 -08:00
Gregory Szorc
96087ea75a 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
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
47aa1a9366 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
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
Ehsan Akhgari
b2e16c1b41 Merge mozilla-central into mozilla-inbound 2012-11-07 17:24:27 -05:00
Ted Mielczarek
fc80f33b54 bug 803654 - Import mock into virtualenv. r=jhammel 2012-10-29 11:12:30 -04:00
Ryan VanderMeulen
2eb1595013 Merge m-c to inbound. 2012-11-02 16:11:46 -04:00
Freddie F. Haddad
dabf74113a 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
02cf362592 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
2e731d8a67 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
e696eb409c 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
d52cbd4f2e Bug 800633 - Clean up references to code moved out of mozbuild; r=jhammel
DONTBUILD (NPOTB)
2012-10-11 17:13:18 -07:00
Ms2ger
87cc03d608 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
733aa7044b Bug 799648 - Followup: Remove a line accidentally left in; r=gps (NPOTB, DONTBUILD) 2012-10-11 21:47:11 +02:00
Gregory Szorc
a9eb0b06d7 Bug 799648 - Part 4: Temporarily disable settings file integration; r=jhammel
DONTBUILD (NPOTB)
2012-10-10 11:09:21 -07:00
Gregory Szorc
437679b76b 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
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
51818ea64b 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
4e06481823 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
ca38f7a4a6 Bug 795427 - Part 3: Print more user friendly error messages; r=jhammel 2012-10-10 11:08:09 -07:00