summaryrefslogtreecommitdiff
path: root/setuptools/command/egg_info.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2021-11-14 17:41:08 -0500
committerGitHub <noreply@github.com>2021-11-14 17:41:08 -0500
commit5b75de07169ef13952a5ab48e0b8bc15f31d0c37 (patch)
tree13b02b20c66d6f5fca7905285ee609a5ad72acb6 /setuptools/command/egg_info.py
parent6fc5d3099898fc3d06bcf72f1f6607d02124d60f (diff)
parent5141c4210c2a63a3bb54f0f512e4116faedc8d63 (diff)
downloadpython-setuptools-git-debt/remove-legacy-version.tar.gz
Merge branch 'main' into debt/remove-legacy-versiondebt/remove-legacy-version
Diffstat (limited to 'setuptools/command/egg_info.py')
-rw-r--r--setuptools/command/egg_info.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/setuptools/command/egg_info.py b/setuptools/command/egg_info.py
index 57bc7982..d7abfe38 100644
--- a/setuptools/command/egg_info.py
+++ b/setuptools/command/egg_info.py
@@ -608,6 +608,27 @@ class manifest_maker(sdist):
self.filelist.exclude_pattern(r'(^|' + sep + r')(RCS|CVS|\.svn)' + sep,
is_regex=1)
+ def _safe_data_files(self, build_py):
+ """
+ The parent class implementation of this method
+ (``sdist``) will try to include data files, which
+ might cause recursion problems when
+ ``include_package_data=True``.
+
+ Therefore, avoid triggering any attempt of
+ analyzing/building the manifest again.
+ """
+ if hasattr(build_py, 'get_data_files_without_manifest'):
+ return build_py.get_data_files_without_manifest()
+
+ warnings.warn(
+ "Custom 'build_py' does not implement "
+ "'get_data_files_without_manifest'.\nPlease extend command classes"
+ " from setuptools instead of distutils.",
+ SetuptoolsDeprecationWarning
+ )
+ return build_py.get_data_files()
+
def write_file(filename, contents):
"""Create a file with the specified name and write 'contents' (a