зеркало из https://github.com/mozilla/gecko-dev.git
f2c9fad61b
The way directory traversal is computed relies on the RecursiveMakeTraversal class, which is used to reproduce the old traversal order from the old entirely-in-make traversal with DIRS, PARALLEL_DIRS, etc. because of the undeclared intra-directory dependencies that are looming here and there. It's fed through DirectoryTraversal objects emitted by the frontend. Normally, DirectoryTraversal objects are emitted for a directory, possibly giving the subdirectories defined in DIRS/TEST_DIRS its moz.build. But in the case of gyp processing, nothing places the gyp objdirs in some virtual DIRS of some parent moz.build since bug 1308982. As a consequence, the corresponding entries in the RecursiveMakeTraversal instance attached to the backend are not attached to any parent directory. When subsequently traversing the tree from the root, they are never found, and end up being skipped, irregarding of their actual _no_skip status. It would probably be possible to revert the changes from bug 1308992, but we might as well not rely on remains from the old ways. So instead, we make the RecursiveMakeTraversal consider directories without a declared parent attached directly to the root directory. They don't need to depend on any other directory anyways. --HG-- extra : rebase_source : 17403922322a71d490fdea8db0ff16b04983ed7a |
||
---|---|---|
.. | ||
PyECC | ||
altgraph | ||
bitstring | ||
blessings | ||
compare-locales | ||
configobj | ||
devtools/migrate-l10n | ||
eme | ||
futures | ||
gdbpp/gdbpp | ||
jsmin | ||
lldbutils | ||
mach | ||
macholib | ||
mock-1.0.0 | ||
mozboot | ||
mozbuild | ||
mozlint | ||
mozversioncontrol/mozversioncontrol | ||
psutil | ||
py | ||
pyasn1 | ||
pyasn1-modules | ||
pylru | ||
pystache | ||
pytest | ||
pytoml | ||
pyyaml | ||
redo | ||
requests | ||
rsa | ||
slugid | ||
virtualenv | ||
voluptuous | ||
which | ||
README | ||
mach_commands.py | ||
moz.build |
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: * 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 ## pyyaml | pystache Used in taskcluster related mach commands to update download from github and remove .git and tests. Then run tests in taskcluster/tests/