1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #!/usr/bin/env python
- import argparse
- import os
- import shutil
- from contextlib import contextmanager
- from subprocess import check_call
- _dname = os.path.dirname
- REPO_ROOT = _dname(_dname(_dname(os.path.abspath(__file__))))
- @contextmanager
- def cd(path):
- """Change directory while inside context manager."""
- cwd = os.getcwd()
- try:
- os.chdir(path)
- yield
- finally:
- os.chdir(cwd)
- def run(command):
- return check_call(command, shell=True)
- if __name__ == "__main__":
- parser = argparse.ArgumentParser()
- group = parser.add_mutually_exclusive_group()
- group.add_argument(
- '-e',
- '--extras',
- help='Install extras_require along with normal install',
- )
- args = parser.parse_args()
- with cd(REPO_ROOT):
- run("pip install -r requirements.txt")
- run('python scripts/ci/install-dev-deps')
- if os.path.isdir('dist') and os.listdir('dist'):
- shutil.rmtree('dist')
- run('python setup.py bdist_wheel')
- wheel_dist = os.listdir('dist')[0]
- package = os.path.join('dist', wheel_dist)
- if args.extras:
- package = f"'{package}[{args.extras}]'"
- run('pip install %s' % package)
|