gecko-dev/python
Nathan Froyd 0d5d951951 Bug 1476973 - part 3 - rationalize the backend's IDLManager; r=gps
The IDLManager in the moz.build backend is a bit weird.  It maintains a
bunch of per-IDL file information, some of which isn't used, and
attempts to map module names to information about what entities the
module needs to be built.  The former is done with Python dicts, and the
latter with Python tuples, both resulting in some contortions by the
clients of IDLManager to specify exactly what they need.

Let's clean this up, by making IDLManager to more clearly do two jobs:

1. Keep track of whether IDL files are globally unique; and
2. Map module names to the information needed to build them.

In the case of #2, we store everything as a straight Python object, so
we can use actual property accesses everywhere.  We also provide a
stems() function on IDLManager to make some client code more
straightforward.

Doing this makes IDLManager much more XPIDL module-centric, and paves
the way for the same change to be made in the frontend as well.
2018-07-24 14:30:53 -04:00
..
devtools/migrate-l10n
docs Backed out 3 changesets (bug 1346026) for Bugzilla linting 2018-05-23 19:42:13 +03:00
l10n/fluent_migrations Bug 1472972 - Remove Fluent migration recipes for Firefox 61 r=Pike 2018-07-03 13:58:05 +02:00
mach Bug 1475058 - Send SIGINT when interrupting interactive in mach before sending SIGKILL. r=mshal 2018-07-12 11:50:48 -07:00
mozboot Bug 1475443 - Properly detect Xcode licence agreement issue in bootstrap.py; r=gps 2018-07-13 12:32:45 +09:00
mozbuild Bug 1476973 - part 3 - rationalize the backend's IDLManager; r=gps 2018-07-24 14:30:53 -04:00
mozlint Bug 1471620 - Skip python-tests locally that don't run with python 3 in CI r=davehunt 2018-06-27 11:10:02 -04:00
mozrelease Bug 1471620 - Skip python-tests locally that don't run with python 3 in CI r=davehunt 2018-06-27 11:10:02 -04:00
mozterm Bug 1471171 - Indicate that mozterm is universal and works on any version of Python; r=emorley 2018-07-02 12:03:10 +01:00
mozversioncontrol Bug 1475649 - Always use --untracked-files; r=ahal 2018-07-16 13:19:09 +00:00
safety Bug 1476003 Update python virtual environment for |mach python-safety| r=davehunt 2018-07-16 15:36:50 +00:00
mach_commands.py Bug 1476390 - [python-test] Default number of processes to multiprocessing.cpu_count() r=davehunt 2018-07-18 16:15:48 +00:00
moz.build Bug 1469872 - update bugzilla products and components in moz.build files: devtools. r=nalexander 2018-06-20 21:34:40 +03: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