summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2022-01-23 22:36:13 -0500
committerJason R. Coombs <jaraco@jaraco.com>2022-01-29 21:18:18 -0500
commitb4f1bf1cb8b3285d0620b27f316d7e83470f7d68 (patch)
treee6c789c9abdfff94720776ae3c0dd088cc1cf192 /tools
parentfb4a1f79f497920c3aa5b95cdfba134cc72e1dfd (diff)
downloadpython-setuptools-git-b4f1bf1cb8b3285d0620b27f316d7e83470f7d68.tar.gz
Include all the dependencies needed to run on Python 3.7 and patch all of them to work in a vendored environment.
Diffstat (limited to 'tools')
-rw-r--r--tools/vendored.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/vendored.py b/tools/vendored.py
index ee34dc0f..a5f3b9f1 100644
--- a/tools/vendored.py
+++ b/tools/vendored.py
@@ -29,6 +29,37 @@ def rewrite_packaging(pkg_files, new_root):
file.write_text(text)
+def rewrite_jaraco_text(pkg_files, new_root):
+ """
+ Rewrite imports in jaraco.text to redirect to vendored copies.
+ """
+ for file in pkg_files.glob('*.py'):
+ text = file.read_text()
+ text = re.sub(r' (jaraco\.)', rf' {new_root}.\1', text)
+ text = re.sub(r' (importlib_resources)', rf' {new_root}.\1', text)
+ file.write_text(text)
+
+
+def rewrite_jaraco(pkg_files, new_root):
+ """
+ Rewrite imports in jaraco.functools to redirect to vendored copies.
+ """
+ for file in pkg_files.glob('*.py'):
+ text = file.read_text()
+ text = re.sub(r' (more_itertools)', rf' {new_root}.\1', text)
+ file.write_text(text)
+
+
+def rewrite_importlib_resources(pkg_files, new_root):
+ """
+ Rewrite imports in importlib_resources to redirect to vendored copies.
+ """
+ for file in pkg_files.glob('*.py'):
+ text = file.read_text().replace('importlib_resources.abc', '.abc')
+ text = text.replace('zipp', '..zipp')
+ file.write_text(text)
+
+
def clean(vendor):
"""
Remove all files out of the vendor directory except the meta
@@ -58,6 +89,9 @@ def update_pkg_resources():
vendor = Path('pkg_resources/_vendor')
install(vendor)
rewrite_packaging(vendor / 'packaging', 'pkg_resources.extern')
+ rewrite_jaraco_text(vendor / 'jaraco/text', 'pkg_resources.extern')
+ rewrite_jaraco(vendor / 'jaraco', 'pkg_resources.extern')
+ rewrite_importlib_resources(vendor / 'importlib_resources', 'pkg_resources.extern')
def update_setuptools():