servo/python
Corey Farwell 9e5f31ce00 Cleanup lint special cases, refactor flake8 linting
Currently, there are a few linting functions that only run on certain
filetypes (determined by the file extension). Prior to this commit, the
special cases were handled in a parent function with a conditional. This
commit changes the system so each linting function gets passed a
filename so the function can determine whether it should run or not
based on the file extension.

I also refactored flake8 linting slightly. From what I've read so far of
the code, flake8 itself will only print the results directly to stdout
(though the linter would report the quantity of errors detected).
Prior to this commit, we would let flake8 print directly to stdout and
just determine if there were >0 errors reported. This commit (sort of
hackily) temporarily captures stdout when we call flake8 so we can do
what we want with the output, allowing us to `yield` the line number
and message like we do with the other linting functions.

In my opinion, both of these changes isolate specific behaviors/checks
into their respective linting functions instead of having them handled
at a more global level.

In addition to the changes above:

* The whitespace linter now runs on WebIDL and TOML files
* The license header linter now runs on WebIDL files
2015-07-26 22:12:20 +07:00
..
dependencies Add flake8 to the tidy process for Python files 2015-06-04 11:17:34 -04:00
mach Update mach from gecko tree 2015-07-01 10:55:50 +01:00
mozdebug mozilla-central modules for debugger detection 2014-11-23 23:21:28 -08:00
mozinfo mozilla-central modules for debugger detection 2014-11-23 23:21:28 -08:00
mozlog Remove unused imports in the Python files 2015-05-31 19:15:32 -04:00
servo Prevent warning about redefining Python variable 2015-07-26 22:07:23 +07:00
toml Fix #6623 and update toml.py 2015-07-20 19:47:35 +03:00
licenseck.py Add flake8 to the tidy process for Python files 2015-06-04 11:17:34 -04:00
mach_bootstrap.py Add flake8 to the tidy process for Python files 2015-06-04 11:17:34 -04:00
README.md Update the README files to reflect the changes to the update procedure. 2015-04-03 23:29:22 +01:00
tidy.py Cleanup lint special cases, refactor flake8 linting 2015-07-26 22:12:20 +07:00

This directory contains various Python modules used to support servo development.

= mach =

The command dispatch framework used to wrap the build system and test harnesses.

= mozdebug =

mozbase module containing information about various debuggers.

This can be updated by copying the latest version from https://hg.mozilla.org/mozilla-central/file/tip/testing/mozbase/mozdebug

= mozinfo =

Mozbase module for extracting information about the host hardware / os.

This can be updated by copying the latest version from hg.mozilla.org/mozilla-central/file/tip/testing/mozbase/mozinfo

= mozlog =

A mozbase logging module required for wptrunner output and command line arguments.

This can be updated by copying the latest version from hg.mozilla.org/mozilla-central/file/tip/testing/mozbase/mozlog

= servo =

servo-specific python code e.g. implementations of mach commands. This is the canonical repository for this code.

== toml ==

Python module for reading toml files.

This can be updated from https://github.com/uiri/toml