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