From cc55da0c4afbd128cf58d1cd4862e30bfceba56d Mon Sep 17 00:00:00 2001 From: Anderson Bravalheri Date: Wed, 30 Mar 2022 19:30:21 +0100 Subject: Separate vendoring script and code generator for pyproject validations --- tools/generate_validation_code.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 tools/generate_validation_code.py (limited to 'tools/generate_validation_code.py') diff --git a/tools/generate_validation_code.py b/tools/generate_validation_code.py new file mode 100644 index 00000000..5792110d --- /dev/null +++ b/tools/generate_validation_code.py @@ -0,0 +1,32 @@ +import string +import subprocess +import sys +from tempfile import TemporaryDirectory + +from pathlib import Path + + +def generate_pyproject_validation(dest: Path): + """ + Generates validation code for ``pyproject.toml`` based on JSON schemas and the + ``validate-pyproject`` library. + """ + cmd = [ + sys.executable, + "-m", + "validate_pyproject.vendoring", + f"--output-dir={dest}", + "--enable-plugins", + "setuptools", + "distutils", + "--very-verbose" + ] + subprocess.check_call(cmd) + print(f"Validation code generated at: {dest}") + + +def main(): + generate_pyproject_validation(Path("setuptools/config/_validate_pyproject")) + + +__name__ == '__main__' and main() -- cgit v1.2.1