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

39 Коммитов

Автор SHA1 Сообщение Дата
Edwin Gao a0497df342 Bug 1577603 - convert mach clobber to run with python 3.5 r=nalexander
Changes:
- remove binary encoding when the subdirectories are being collected
- do not open file in binary mode when reading from `telemetry_client_id.json`

Differential Revision: https://phabricator.services.mozilla.com/D44057

--HG--
extra : moz-landing-system : lando
2019-08-30 17:25:47 +00:00
Andrew Halberstadt 77e2553e92 Bug 1555762 - [mach] Get SearchProvider commands to run with Python 3 r=Callek
This includes the following commands:
* dxr
* google
* mdn
* search
* searchfox

Differential Revision: https://phabricator.services.mozilla.com/D36843

--HG--
extra : moz-landing-system : lando
2019-08-26 14:01:32 +00:00
Andrew Halberstadt 333ffc4bcf Bug 1473498 - [mach] Support running mach commands with python 3 r=glandium,mars
Credit: mars for making the shell POSIX compliant

This embeds a blacklist of every mach command that needs to run with Python 2
directly in the mach driver itself. Initially this is every mach command. We
then use a bit of shell to determine whether the command being run needs Python
2 or 3.

While this approach may seem a bit hacky, it has several benefits:

1. No need to add complex machinery in mach's registration code.
2. No need to spawn two separate Python interpreters in the event a different
   Python from the original interpreter is needed.
3. Perf impact is negligible.
4. New commands are Python 3 by default.

It is also only a temporary hack. Once all commands are running with Python 3,
we can revert back to the original mach driver.

Differential Revision: https://phabricator.services.mozilla.com/D36103

--HG--
extra : moz-landing-system : lando
2019-08-27 03:08:08 +00:00
Chris Manchester 2d2292267f Bug 1316140 - Allow use of multiprocessing from config.status on windows. r=mshal
This generalizes the monkey-patching of the main module added
in bug 914563 to allow multiprocessing to be used from config.status
(which triggers the same bug as when it's used with `mach` as main).

MozReview-Commit-ID: AdOdpKzmbsp
2016-12-21 16:28:28 -08:00
Andrew Halberstadt 21bb6ea0b7 Bug 1279020 - [mach] Follow symlinked mach binary when searching for a srcdir, r=gps
The mach binary needs to find a srcdir (or test zip) to operator on. As a last resort,
it checks the directory containing the binary itself. If the binary has been symlinked
to say, $HOME/bin, it won't follow the symlink to the proper location, and the check
will fail.

Fixing this means developers can run `mach` from outside of the srcdir, as the symlink
will be followed to the actual srcdir. The motivation for this is actually to improve
the UX of debugging failures on interactive workers. With this fix, we can provide
developers with a mach environment directly from $HOME without them needing to go
find it.

MozReview-Commit-ID: ZEH8MuyKv

--HG--
extra : rebase_source : 2b5adbad1b5261f2268f6a30e7dd884d7820da5e
2016-06-09 17:20:02 -04:00
Andrew Halberstadt b5b5de46a4 Bug 1278900 - [mach] Also look for config.status when detecting an objdir, r=gps
Currently the mach binary will look for 'mozinfo.json' and if it finds it assume
we are in an objdir. But now, 'mozinfo.json' can also be found in an extracted
tests.zip (depending which zips were used). This trips up the tests.zip mach
environment and causes some problems.

This works around the issue by looking for both 'mozinfo.json' and 'config.status'

MozReview-Commit-ID: BIXcCm4LzE2

--HG--
extra : rebase_source : 6e2dc0502de1cddec8eccdfe30524864be81536c
2016-06-08 10:33:54 -04:00
Andrew Halberstadt 6a55c03d43 Bug 1058923 - Package mach in tests.zip; create bootstrap script for test package, r=gps
--HG--
extra : rebase_source : 9f988171182a0abd54724e0cc2906fe678da318f
extra : source : 7923a0c837b56efcd1376b95318fe4cdce03d5e8
2015-05-01 12:20:55 -04:00
Ehsan Akhgari 3e88d83106 Bug 892973 - Add support for the YouCompleteMe vim plugin; r=gps 2015-04-27 13:08:43 -04:00
Gregory Szorc 2949694ec0 Bug 1043144 - Don't write machc bytecode file; r=mshal
When writing bytecode, Python will append "c" to the loaded filename to
produce a bytecode file. Since "mach" was being imported, this resulted
in the creation of a "machc" file.

The implementation of imp.load_module() in CPython's import.c checks
sys.dont_write_bytecode. So, we wrap imp.load_module to set this flag
when importing mach.

--HG--
extra : rebase_source : 248a2349663affee3920a0726e10818d57c6ff17
extra : amend_source : 221280da9963cf91975658144ff3011353852fee
2014-08-05 10:39:24 -07:00
Mike Shal 74972b4fdc Bug 914563 - re-enable build resource recording on Windows; r=gps 2014-07-15 13:59:10 -04:00
Mike Hommey fbc231db84 Bug 1031180 - Fallback to checking whether the directory mach lives in contains mach_bootstrap.py. r=gps 2014-07-03 07:15:31 +09:00
Mike Shal 53079c9bd9 Bug 914563 - Hack up mach to work with multiprocessing on Windows; r=glandium 2014-06-20 11:35:25 -04:00
Mike Hommey 922606fe6a Bug 957721 - Transform mach into a shell script that reexecutes itself with python. r=mshal 2014-05-21 11:27:30 +09:00
Ed Morley e96cc937d9 Backed out changeset 3c72c5ea486c (bug 957721) for breaking mach on non-Mozilla-Build python installs 2014-05-14 12:42:45 +01:00
Gregory Szorc e57a015850 Bug 957721 - Switch mach's shebang to look for python2.7. r=glandium
OpenBSD doesn't have "python" on $PATH by default. "python" may also
come from a non-2.7 Python. Switching the shebang will help ensure the
user invokes mach with Python 2.7.
2014-01-08 11:19:21 -08:00
Ryan VanderMeulen c3d5a38360 Backed out changeset faafb9526e32 (bug 957721) for breaking mach on Windows. 2014-01-16 08:21:07 -05:00
Gregory Szorc 30f5849302 Bug 957721 - Switch mach's shebang to look for python2.7; r=glandium
OpenBSD doesn't have "python" on $PATH by default. "python" may also
come from a non-2.7 Python. Switching the shebang will help ensure the
user invokes mach with Python 2.7.

There is a risk this may break mach for some people. If the masses
complain, we may roll back.

--HG--
extra : rebase_source : e05b707779bc80e9f9c9f30ba8cd70aa6aa9847f
extra : amend_source : 418ecc9e4c289e7dd8c4423e701ebc9574ecae45
2014-01-08 11:19:21 -08:00
Gregory Szorc 4d80a8348f Bug 924977 - More proper current working directory handling in mach; r=ahal 2013-10-11 12:44:15 -07:00
Matt Brubeck ac0a131eac Bug 899695 - Fix exception in "mach python" on Windows [r=gps]
DONTBUILD (not part of the build)
2013-08-08 08:06:02 -07:00
Till Schneidereit cb5ab2ffaf Re-add executable flag to mach (removed in bug 846906). r=me
--HG--
extra : amend_source : b05295269087f60e985a2815d130a58cddfa1ffa
2013-04-04 16:52:27 +02:00
Ryan VanderMeulen 82d09e215d Backed out changeset 061b9318815b (bug 846906) for accidentally removing mach. 2013-04-04 10:42:28 -04:00
Eddy Bruel 7ea3424daa Bug 846906 - Implement nsAppShellService::CreateWindowlessBrowser; r=bz; sr=benjamin 2013-04-04 15:24:32 +02:00
Daniel Holbert f7bd024423 Bug 829557. followup to part 1: revert the almost-certainly-accidental removal of mach's executable bit. 2013-03-03 23:28:15 -08:00
Robert O'Callahan 03283f8b15 Bug 829557. Part 1: When calling into plugin code, identify situations where it is safe (or unsafe) to reenter Gecko from plugin code. r=bsmedberg
When Gecko is reentered from unsafe call sites, we allow the reentry, but we
suppress execution of the refresh driver to minimize the danger.
In this patch, we treat all sites as unsafe.

--HG--
rename : toolkit/modules/Timer.jsm => browser/devtools/shared/Browser.jsm
rename : toolkit/modules/tests/xpcshell/test_timer.js => browser/devtools/shared/test/browser_browser_basic.js
rename : build/mach_bootstrap.py => mach
extra : rebase_source : b83c1d09313bff62357eaa931eced0f72f838493
2013-02-28 00:50:27 +13:00
Matt Brubeck f31f48dc7a Bug 840588 - Create a mach wrapper that searches up from $CWD for a topsrcdir [r=gps]
--HG--
rename : mach => build/mach_bootstrap.py
extra : rebase_source : df914d42e46aac1326e50735a5d8e66cb4243a25
2013-03-01 15:51:11 -08:00
Ehsan Akhgari 6e1c0719df Merge mozilla-central into mozilla-inbound 2013-02-02 13:53:46 -05:00
Gregory Szorc 0a62341cc8 Bug 836877 - mach now errors if executed with Python 3; r=ted
DONTBUILD (NPOTB)
2013-02-01 10:36:28 -08:00
Dave Townsend cf9be7d864 Bug 793928: Ship the Add-on SDK APIs as part of the platform. r=gps 2013-02-01 11:20:17 -08:00
Gregory Szorc ec7a8780bf 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 f718bace7a Bug 803400 - Add clobber mach command; r=glandium
DONTBUILD (NPOTB)
2012-12-05 22:46:01 -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 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 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 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
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 66a56c8a6b Bug 795427 - Part 1: Proper exit codes from mach; r=jhammel 2012-10-04 17:43:54 -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