summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--setuptools/__init__.py8
-rw-r--r--setuptools/dist.py15
2 files changed, 18 insertions, 5 deletions
diff --git a/setuptools/__init__.py b/setuptools/__init__.py
index 502d2a2e..cff04323 100644
--- a/setuptools/__init__.py
+++ b/setuptools/__init__.py
@@ -58,6 +58,14 @@ def _install_setup_requires(attrs):
# Prevent accidentally triggering discovery with incomplete set of attrs
self.set_defaults._disable()
+ def _get_project_config_files(self, filenames=None):
+ """Ignore ``pyproject.toml``, they are not related to setup_requires"""
+ try:
+ cfg, toml = super()._split_standard_project_metadata(filenames)
+ return cfg, ()
+ except Exception:
+ return filenames, ()
+
def finalize_options(self):
"""
Disable finalize_options to avoid building the working set.
diff --git a/setuptools/dist.py b/setuptools/dist.py
index 2aa532d2..215c88e3 100644
--- a/setuptools/dist.py
+++ b/setuptools/dist.py
@@ -827,10 +827,8 @@ class Distribution(_Distribution):
except ValueError as e:
raise DistutilsOptionError(e) from e
- def parse_config_files(self, filenames=None, ignore_option_errors=False):
- """Parses configuration files from various levels
- and loads configuration.
- """
+ def _get_project_config_files(self, filenames):
+ """Add default file and split between INI and TOML"""
tomlfiles = []
standard_project_metadata = Path(self.src_root or os.curdir, "pyproject.toml")
if filenames is not None:
@@ -839,8 +837,15 @@ class Distribution(_Distribution):
tomlfiles = list(parts[1]) # 2nd element => predicate is True
elif standard_project_metadata.exists():
tomlfiles = [standard_project_metadata]
+ return filenames, tomlfiles
+
+ def parse_config_files(self, filenames=None, ignore_option_errors=False):
+ """Parses configuration files from various levels
+ and loads configuration.
+ """
+ inifiles, tomlfiles = self._get_project_config_files(filenames)
- self._parse_config_files(filenames=filenames)
+ self._parse_config_files(filenames=inifiles)
setupcfg.parse_configuration(
self, self.command_options, ignore_option_errors=ignore_option_errors