1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-09-17 10:40:12 +02:00

Merge branch 'pyproject.toml' into 'master'

Move lint tools configuration to pyproject.toml

See merge request fdroid/fdroidserver!1196
This commit is contained in:
Hans-Christoph Steiner 2022-09-30 17:55:42 +00:00
commit 6a4b7ba4c1
4 changed files with 64 additions and 81 deletions

View File

@ -219,7 +219,7 @@ lint_format_safety_bandit_checks:
--ini .bandit
|| set_error
- safety check --full-report || set_error
- pylint --rcfile=.pylint-rcfile --output-format=colorized --reports=n
- pylint --output-format=colorized --reports=n
fdroid
makebuildserver
setup.py
@ -234,26 +234,11 @@ lint_format_safety_bandit_checks:
- exit $EXITVALUE
lint_mypy:
image: debian:bullseye-backports
<<: *apt-template
script:
# use Debian packages to avoid building C/rust sources
- apt-get install
mypy
python3-cryptography
python3-pip
python3-wheel
- apt-get install -t bullseye-backports python3-pyjks
- pip install -e .[test]
- mypy
black:
image: python:slim
script:
- pip install black
- black --check --diff --color --skip-string-normalization
- black --check --diff --color
examples/fdroid_extract_repo_pubkey.py
examples/makebuildserver.config.py
fdroid

View File

@ -1,47 +0,0 @@
[MASTER]
# Use multiple processes to speed up Pylint.
jobs=4
# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no
[MESSAGES CONTROL]
# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
confidence=HIGH,INFERENCE
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once).You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
disable=invalid-name,missing-docstring,no-member
[MISCELLANEOUS]
# List of note tags to take in consideration, separated by a comma.
notes=FIXME,XXX,TODO
[BASIC]
# Good variable names which should always be accepted, separated by a comma
good-names=i,j,k,ex,Run,f,fp
[ELIF]
# Maximum number of nested blocks for function / method body
max-nested-blocks=5
[FORMAT]
max-line-length=88

View File

@ -1,17 +0,0 @@
[mypy]
files = fdroidserver
# exclude vendored file
exclude = fdroidserver/apksigcopier.py
# this is de-facto the linter setting for this file
warn_unused_configs = True
# TODO: we should either upgrade the used packages to a version which includes type hints OR install/write stub packages for these libraries.
# Further details here: https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-type-hints-for-third-party-library
ignore_missing_imports = True
# ignore the [no-redef] errors, as they collide with the bandit "# nosec" exclusion (common.py)
# unfortunately both tools expect their ignore flag as a comment in the same line
# [misc] is ignored for the "incompatible import"
# [arg-type] is ignored because when there are missing envs, everything will crash, not just the types
disable_error_code = no-redef, misc, arg-type

View File

@ -1,2 +1,64 @@
[tool.black]
skip-string-normalization = true
target-version = ["py35"]
[tool.mypy]
python_version = "3.5"
files = "fdroidserver"
# exclude vendored file
exclude = "fdroidserver/apksigcopier.py"
# this is de-facto the linter setting for this file
warn_unused_configs = true
# TODO: we should either upgrade the used packages to a version which includes type hints OR install/write stub packages for these libraries.
# Further details here: https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-type-hints-for-third-party-library
ignore_missing_imports = true
# ignore the [no-redef] errors, as they collide with the bandit "# nosec" exclusion (common.py)
# unfortunately both tools expect their ignore flag as a comment in the same line
# [misc] is ignored for the "incompatible import"
# [arg-type] is ignored because when there are missing envs, everything will crash, not just the types
disable_error_code = "no-redef, misc, arg-type"
[tool.pylint.main]
# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
# number of processors available to use, and will cap the count on Windows to
# avoid hangs.
jobs = 4
[tool.pylint.basic]
# Good variable names which should always be accepted, separated by a comma.
good-names = ["i", "j", "k", "ex", "Run", "f", "fp"]
[tool.pylint."messages control"]
# Only show warnings with the listed confidence levels. Leave empty to show all.
# Valid levels: HIGH, CONTROL_FLOW, INFERENCE, INFERENCE_FAILURE, UNDEFINED.
confidence = ["HIGH", "INFERENCE"]
# Disable the message, report, category or checker with the given id(s). You can
# either give multiple identifiers separated by comma (,) or put this option
# multiple times (only on the command line, not in the configuration file where
# it should appear only once). You can also use "--disable=all" to disable
# everything first and then re-enable specific checks. For example, if you want
# to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use "--disable=all --enable=classes
# --disable=W".
disable = ["invalid-name", "missing-module-docstring", "missing-class-docstring", "missing-function-docstring", "no-member"]
[tool.pylint.miscellaneous]
# List of note tags to take in consideration, separated by a comma.
notes = ["FIXME", "XXX", "TODO"]
[tool.pylint.refactoring]
# Maximum number of nested blocks for function / method body
max-nested-blocks = 5
[tool.pylint.format]
# Maximum number of characters on a single line.
max-line-length = 88