From 7dd1e4e68899f7f5543dabe81363b95ad907446c Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sat, 17 Mar 2018 14:23:38 -0400 Subject: Extract common functionality into reusable functions --- pavement.py | 43 +++++++++++++++++-------------------------- 1 file changed, 17 insertions(+), 26 deletions(-) (limited to 'pavement.py') diff --git a/pavement.py b/pavement.py index ca54e61f..84e5825d 100644 --- a/pavement.py +++ b/pavement.py @@ -25,6 +25,18 @@ def rewrite_packaging(pkg_files, new_root): 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 = [ @@ -35,37 +47,16 @@ def install(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') - # pip uninstall doesn't support -t, so do it manually - remove_all(vendor.glob('packaging*')) - remove_all(vendor.glob('six*')) - remove_all(vendor.glob('pyparsing*')) - remove_all(vendor.glob('appdirs*')) - install_args = [ - 'install', - '-r', str(vendor / 'vendored.txt'), - '-t', str(vendor), - ] - pip.main(install_args) - rewrite_packaging(vendor / 'packaging', 'pkg_resources.extern.') - remove_all(vendor.glob('*.dist-info')) - remove_all(vendor.glob('*.egg-info')) + install(vendor) + rewrite_packaging(vendor / 'packaging', 'pkg_resources.extern') def update_setuptools(): vendor = Path('setuptools/_vendor') - # pip uninstall doesn't support -t, so do it manually - remove_all(vendor.glob('packaging*')) - remove_all(vendor.glob('six*')) - remove_all(vendor.glob('pyparsing*')) - install_args = [ - 'install', - '-r', str(vendor / 'vendored.txt'), - '-t', str(vendor), - ] - pip.main(install_args) + install(vendor) rewrite_packaging(vendor / 'packaging', 'setuptools.extern') - remove_all(vendor.glob('*.dist-info')) - remove_all(vendor.glob('*.egg-info')) -- cgit v1.2.1