diff options
Diffstat (limited to 'src_doit/dist/__init__.py')
| -rw-r--r-- | src_doit/dist/__init__.py | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/src_doit/dist/__init__.py b/src_doit/dist/__init__.py index de8d98c..6c490fa 100644 --- a/src_doit/dist/__init__.py +++ b/src_doit/dist/__init__.py @@ -1,7 +1,6 @@ from pathlib import Path import subprocess import zipfile -import sys from hat.doit import common @@ -16,8 +15,10 @@ package_path = Path(__file__).parent build_dir = Path('build') cache_dir = Path('cache') -build_windows_dir = build_dir / f'opcut-{common.get_version()}-windows' -build_container_dir = build_dir / f'opcut-{common.get_version()}-container' +wheel_dir = build_dir / 'py/dist' +dist_dir = build_dir / 'dist' +dist_windows_dir = dist_dir / f'opcut-{common.get_version()}-windows' +dist_container_dir = dist_dir / f'opcut-{common.get_version()}-container' win_python_url = 'https://www.python.org/ftp/python/3.9.7/python-3.9.7-embed-amd64.zip' # NOQA cache_win_python_path = cache_dir / win_python_url.split('/')[-1] @@ -35,9 +36,9 @@ def task_dist_windows(): """Build windows distribution""" def build(): - common.rm_rf(build_windows_dir) - common.mkdir_p(build_windows_dir.parent) - common.cp_r(package_path / 'windows', build_windows_dir) + common.rm_rf(dist_windows_dir) + common.mkdir_p(dist_windows_dir.parent) + common.cp_r(package_path / 'windows', dist_windows_dir) common.mkdir_p(cache_dir) if not cache_win_python_path.exists(): @@ -46,14 +47,14 @@ def task_dist_windows(): '-L', win_python_url], check=True) - python_dir = build_windows_dir / 'python' + python_dir = dist_windows_dir / 'python' common.mkdir_p(python_dir) with zipfile.ZipFile(str(cache_win_python_path)) as f: f.extractall(str(python_dir)) python_lib_path = python_dir / 'python39.zip' python_lib_dir = python_dir / 'lib' - common.mkdir_p(build_windows_dir / 'python/lib') + common.mkdir_p(dist_windows_dir / 'python/lib') with zipfile.ZipFile(str(python_lib_path)) as f: f.extractall(str(python_lib_dir)) common.rm_rf(python_lib_path) @@ -65,10 +66,10 @@ def task_dist_windows(): 'import site\n' ) - packages_dir = build_windows_dir / 'packages' + packages_dir = dist_windows_dir / 'packages' common.mkdir_p(packages_dir) - packages = [*(str(i) for i in (build_dir / 'dist').glob('*.whl'))] + packages = [*(str(i) for i in wheel_dir.glob('*.whl'))] subprocess.run(['pip', 'install', '-q', '-t', str(packages_dir), '--only-binary=:all:', @@ -76,38 +77,38 @@ def task_dist_windows(): *packages], check=True) - zip_path = build_dir / f'{build_windows_dir.name}.zip' + zip_path = dist_dir / f'{dist_windows_dir.name}.zip' common.rm_rf(zip_path) with zipfile.ZipFile(str(zip_path), 'w', zipfile.ZIP_DEFLATED) as f: - for i in build_windows_dir.rglob('*'): + for i in dist_windows_dir.rglob('*'): if i.is_dir(): continue - f.write(str(i), str(i.relative_to(build_windows_dir))) + f.write(str(i), str(i.relative_to(dist_windows_dir))) return {'actions': [build], - 'task_dep': ['build']} + 'task_dep': ['wheel']} def task_dist_container(): """Build container distribution""" def build(): - common.rm_rf(build_container_dir) - common.mkdir_p(build_container_dir.parent) - common.cp_r(package_path / 'container', build_container_dir) + common.rm_rf(dist_container_dir) + common.mkdir_p(dist_container_dir.parent) + common.cp_r(package_path / 'container', dist_container_dir) - for i in (build_dir / 'dist').glob('*.whl'): - common.cp_r(i, build_container_dir / i.name) + for i in wheel_dir.glob('*.whl'): + common.cp_r(i, dist_container_dir / i.name) name = f'opcut:{common.get_version()}' - img_path = build_dir / f'{build_container_dir.name}.tar' + img_path = dist_dir / f'{dist_container_dir.name}.tar' subprocess.run(['podman', 'build', '-q', '-t', name, '.'], - cwd=str(build_container_dir), + cwd=str(dist_container_dir), check=True) subprocess.run(['podman', 'save', '-q', '-o', str(img_path), name], check=True) return {'actions': [build], - 'task_dep': ['build']} + 'task_dep': ['wheel']} |
