diff options
Diffstat (limited to 'pavement.py')
-rw-r--r-- | pavement.py | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/pavement.py b/pavement.py deleted file mode 100644 index 84e5825..0000000 --- a/pavement.py +++ /dev/null @@ -1,62 +0,0 @@ -import re - -from paver.easy import task, path as Path -import pip - - -def remove_all(paths): - for path in paths: - path.rmtree() if path.isdir() else path.remove() - - -@task -def update_vendored(): - update_pkg_resources() - update_setuptools() - - -def rewrite_packaging(pkg_files, new_root): - """ - Rewrite imports in packaging to redirect to vendored copies. - """ - for file in pkg_files.glob('*.py'): - text = file.text() - text = re.sub(r' (pyparsing|six)', rf' {new_root}.\1', text) - file.write_text(text) - - -def clean(vendor): - """ - Remove all files out of the vendor directory except the meta - data (as pip uninstall doesn't support -t). - """ - remove_all( - path - for path in vendor.glob('*') - if path.basename() != 'vendored.txt' - ) - - -def install(vendor): - clean(vendor) - install_args = [ - 'install', - '-r', str(vendor / 'vendored.txt'), - '-t', str(vendor), - ] - pip.main(install_args) - 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') - install(vendor) - rewrite_packaging(vendor / 'packaging', 'pkg_resources.extern') - - -def update_setuptools(): - vendor = Path('setuptools/_vendor') - install(vendor) - rewrite_packaging(vendor / 'packaging', 'setuptools.extern') |