| from paver.easy import task, path as Path |
| path.rmtree() if path.isdir() else path.remove() |
| def rewrite_packaging(pkg_files, new_root): |
| Rewrite imports in packaging to redirect to vendored copies. |
| for file in pkg_files.glob('*.py'): |
| text = re.sub(r' (pyparsing|six)', rf' {new_root}.\1', text) |
| Remove all files out of the vendor directory except the meta |
| data (as pip uninstall doesn't support -t). |
| for path in vendor.glob('*') |
| if path.basename() != 'vendored.txt' |
| '-r', str(vendor / 'vendored.txt'), |
| remove_all(vendor.glob('*.dist-info')) |
| remove_all(vendor.glob('*.egg-info')) |
| (vendor / '__init__.py').write_text('') |
| def update_pkg_resources(): |
| vendor = Path('pkg_resources/_vendor') |
| rewrite_packaging(vendor / 'packaging', 'pkg_resources.extern') |
| vendor = Path('setuptools/_vendor') |
| rewrite_packaging(vendor / 'packaging', 'setuptools.extern') |