gecko-dev/python
Ricky Stewart 5a39034089 Bug 1619460 - ensure subsequent runs of `./mach build-backend` under Python 3 produce consistent results r=dmajor
Dictionary iteration under Python 3 is in an inherently unpredictable order, and while we try to keep DEFINES ordered through the use of OrderedDicts, if at any point we populate DEFINES directly or indirectly while iterating through the contents of a non-ordered dictionary, the order of the DEFINES (and therefore the contents of the output Makefile) will be nondeterministic as well. This patch makes a number of changes to ensure that we only ever populate DEFINES in a deterministic fashion. (Note that in Python 3.7 and later, the built-in dict class actually has deterministic ordering, so these changes are technically only necessary until our minimum Python version becomes 3.7.)

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

--HG--
extra : moz-landing-system : lando
2020-03-09 22:34:19 +00:00
..
devtools/migrate-l10n Bug 1559975 - fix python2 linter errors for python/devtools r=ahal 2019-07-16 17:46:08 +00:00
docs
gdbpp/gdbpp Bug 1564314 - Make linters happy with the gdbpp code. r=nalexander 2019-07-11 18:19:44 +00:00
l10n Bug 1608199 - Port devtools/client/styleeditor.dtd to Fluent, r=fluent-reviewers,flod,Gijs,jdescottes 2020-02-20 14:36:15 +00:00
lldbutils Bug 1603804. Move third_party/python/lldbutils to python/lldbutils. r=ahal 2019-12-20 17:10:12 +00:00
mach Bug 1614518 - Followup fix to undo unneeded part of change that breaks tests 2020-02-20 19:10:07 +00:00
mozboot Bug 1620511 - Make ensure_mobile_android_packages Python3 compatible. r=firefox-build-system-reviewers,rstewart 2020-03-06 17:30:27 +00:00
mozbuild Bug 1619460 - ensure subsequent runs of `./mach build-backend` under Python 3 produce consistent results r=dmajor 2020-03-09 22:34:19 +00:00
mozlint Bug 1619586 - Major version bump for mozlog and mozcrash; r=bc,marionette-reviewers,perftest-reviewers,jgraham,whimboo 2020-03-04 00:32:38 +00:00
mozrelease Bug 1611465 - Remove references to cmp() function and __cmp__ method in mozbuild r=firefox-build-system-reviewers,mshal 2020-01-30 13:15:24 +00:00
mozterm
mozversioncontrol Bug 1611006 - Convert python/mozbuild/mozbuild/test/action to python3; r=firefox-build-system-reviewers,rstewart 2020-02-28 20:56:31 +00:00
safety Bug 1619930 Update python-safety dependencies r=mtabara 2020-03-05 13:48:16 +00:00
README
mach_commands.py Bug 1604360 - [python] Fix ./mach python --ipython, r=mars 2019-12-17 23:05:29 +00:00
moz.build Bug 1581016 - mozpack/copier.py and mozpack/test_copier.py supports python3 r=glandium,rstewart 2019-12-19 22:00:39 +00:00

README

This directory contains common Python code.

The basic rule is that if Python code is cross-module (that's "module" in the
Mozilla meaning - as in "module ownership") and is MPL-compatible, it should
go here.

What should not go here:

* Vendored python modules (use third_party/python instead)
* Python that is not MPL-compatible (see other-licenses/)
* Python that has good reason to remain close to its "owning" (Mozilla)
  module (e.g. it is only being consumed from there).

Historical information can be found at
https://bugzilla.mozilla.org/show_bug.cgi?id=775243
https://bugzilla.mozilla.org/show_bug.cgi?id=1346025