Hiya, this series turns on automated linting for scripts/qapi, docs/sphinx/qapidoc.py and docs/sphinx/qapi_domain.py.
This includes flake8/isort/pylint/mypy for scripts/qapi, but omits mypy from the Sphinx plugins owing to my inability to strictly type the extensions given the wide versions of Sphinx we actually support. [Maybe this will change soon, but it's not true just yet.] Though I have been using black in my own development, I have not yet enabled it anywhere automatically. Maybe soon. V5: - Fixed test failure on GitLab CI. As far as I can tell, the problem stems from Sphinx requiring a version of `packaging` that is old enough that some newer versions of setuptools break when it is installed. Fix this by pinning setuptools to an older version, for now. Note that this only applies to the "minreqs" test and not general installation. (This change applies only to patch 4/6.) (Note that I am still carrying a patch to bump the Sphinx version, but I wanted to get this series out of the way first... I'll revisit this pinning again shortly.) V4: - Rebase and resend. Pull Request imminent. V3: - Folded in Markus's commit to clean up setup.cfg. V2: - Mostly commit message updates based on Markus's's's review. John Snow (5): qapi: Add some pylint ignores docs/qapidoc: linting fixes python: update missing dependencies from minreqs python: add qapi static analysis tests qapi: delete un-needed python static analysis configs Markus Armbruster (1): python: Drop redundant warn_unused_configs = True docs/sphinx/qapi_domain.py | 25 ++++++++++++++----------- docs/sphinx/qapidoc.py | 5 +++-- python/setup.cfg | 2 +- python/tests/minreqs.txt | 31 +++++++++++++++++++++++++++++++ python/tests/qapi-flake8.sh | 6 ++++++ python/tests/qapi-isort.sh | 8 ++++++++ python/tests/qapi-mypy.sh | 4 ++++ python/tests/qapi-pylint.sh | 8 ++++++++ scripts/qapi/.flake8 | 3 --- scripts/qapi/.isort.cfg | 7 ------- scripts/qapi/backend.py | 2 ++ scripts/qapi/mypy.ini | 4 ---- scripts/qapi/pylintrc | 1 + 13 files changed, 78 insertions(+), 28 deletions(-) create mode 100755 python/tests/qapi-flake8.sh create mode 100755 python/tests/qapi-isort.sh create mode 100755 python/tests/qapi-mypy.sh create mode 100755 python/tests/qapi-pylint.sh delete mode 100644 scripts/qapi/.flake8 delete mode 100644 scripts/qapi/.isort.cfg delete mode 100644 scripts/qapi/mypy.ini -- 2.48.1