Module tidy::ext_tool_checks
source Β· Expand description
Optional checks for file types other than Rust source
Handles python tool version managment via a virtual environment in
build/venv.
Β§Functional outline
- Run tidy with an extra option:
--extra-checks=py,shell,--extra-checks=py:lint, or similar. Optionally provide specific configuration after a double dash (--extra-checks=py -- foo.py) - Build configuration based on args/environment:
- Formatters by default are in check only mode
- If in CI (TIDY_PRINT_DIFF=1 is set), check and print the diff
- If
--blessis provided, formatters may run - Pass any additional config after the
--. If no files are specified, use a default.
- Print the output of the given command. If it fails and
TIDY_PRINT_DIFFis set, rerun the tool to print a suggestion diff (for e.g. CI)
EnumsΒ§
- Error π
ConstantsΒ§
- BLACK_CONFIG_PATH π
- MIN_PY_REV πMinimum python revision is 3.7 for ruff
- MIN_PY_REV_STR π
- PIP_REQ_PATH π
- REL_PY_PATH π
- RUFF_CACH_PATH πLocation within build directory
- RUFF_CONFIG_PATH π
FunctionsΒ§
- check_impl π
- create_venv_at_path πAttempt to create a virtualenv at this path. Cycles through all expected valid python versions to find one that is installed.
- find_with_extension πCheck git for tracked files matching an extension
- get_or_create_venv πCreate a virtuaenv at a given path if it doesnβt already exist, or validate the install if it does. Returns the path to that venvβs python executable.
- install_requirements π
- merge_args πHelper to create
cfg1 cfg2 -- file1 file2output - py_runner πRun a python command with given arguments.
py_pathshould be a virtualenv. - shellcheck_runner πCheck that shellcheck is installed then run it at the given path
- verify_py_version πParse pythonβs version output (
Python x.y.z) and ensure we have a suitable version.