summaryrefslogtreecommitdiff
path: root/setuptools/config/pyprojecttoml.py
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools/config/pyprojecttoml.py')
-rw-r--r--setuptools/config/pyprojecttoml.py14
1 files changed, 4 insertions, 10 deletions
diff --git a/setuptools/config/pyprojecttoml.py b/setuptools/config/pyprojecttoml.py
index e20d71d2..9666ca18 100644
--- a/setuptools/config/pyprojecttoml.py
+++ b/setuptools/config/pyprojecttoml.py
@@ -26,18 +26,12 @@ def load_file(filepath: _Path) -> dict:
return tomli.load(file)
-def validate(config: dict, filepath: _Path):
- from setuptools.extern._validate_pyproject import validate as _validate
+def validate(config: dict, filepath: _Path) -> bool:
+ from . import _validate_pyproject as validator
try:
- return _validate(config)
- except Exception as ex:
- if ex.__class__.__name__ != "ValidationError":
- # Workaround for the fact that `extern` can duplicate imports
- ex_cls = ex.__class__.__name__
- error = ValueError(f"invalid pyproject.toml config: {ex_cls} - {ex}")
- raise error from None
-
+ return validator._validate(config)
+ except validator.ValidationError as ex:
_logger.error(f"configuration error: {ex.summary}") # type: ignore
_logger.debug(ex.details) # type: ignore
error = ValueError(f"invalid pyproject.toml config: {ex.name}") # type: ignore