jobextra/python-setuptools/system-validate-pyproject.p...

22 lines
927 B
Plaintext

diff --git a/setuptools/config/pyprojecttoml.py b/setuptools/config/pyprojecttoml.py
index bc76b111..886c9747 100644
--- a/setuptools/config/pyprojecttoml.py
+++ b/setuptools/config/pyprojecttoml.py
@@ -26,10 +26,14 @@ def load_file(filepath: _Path) -> dict:
def validate(config: dict, filepath: _Path):
- from setuptools.extern._validate_pyproject import validate as _validate
+ import validate_pyproject.api, validate_pyproject.cli, validate_pyproject.plugins
+ plugins = validate_pyproject.plugins.list_from_entry_points()
+ validator = validate_pyproject.api.Validator(
+ validate_pyproject.cli.select_plugins(plugins, ('setuptools', 'distutils'), ())
+ )
try:
- return _validate(config)
+ return validator(config)
except Exception as ex:
if ex.__class__.__name__ != "ValidationError":
# Workaround for the fact that `extern` can duplicate imports