diff options
author | Anderson Bravalheri <andersonbravalheri@gmail.com> | 2022-03-30 19:30:21 +0100 |
---|---|---|
committer | Anderson Bravalheri <andersonbravalheri@gmail.com> | 2022-03-30 19:30:21 +0100 |
commit | cc55da0c4afbd128cf58d1cd4862e30bfceba56d (patch) | |
tree | 51f203ec14b74591d1c222f39cbf509e1f197dee /tools/generate_validation_code.py | |
parent | 0ec53b228800300992ba1c53c2f089a435d4970c (diff) | |
download | python-setuptools-git-cc55da0c4afbd128cf58d1cd4862e30bfceba56d.tar.gz |
Separate vendoring script and code generator for pyproject validations
Diffstat (limited to 'tools/generate_validation_code.py')
-rw-r--r-- | tools/generate_validation_code.py | 32 |
1 files changed, 32 insertions, 0 deletions
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() |