1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
"""This is a very stupid backend for testing purposes.
Don't use this for any real code.
"""
import shutil
import tarfile
from glob import glob
from os.path import join as pjoin
from zipfile import ZipFile
def get_requires_for_build_wheel(config_settings):
return ["wheelwright"]
def get_requires_for_build_editable(config_settings):
return ["wheelwright", "editables"]
def prepare_metadata_for_build_wheel(metadata_directory, config_settings):
for distinfo in glob("*.dist-info"):
shutil.copytree(distinfo, pjoin(metadata_directory, distinfo))
prepare_metadata_for_build_editable = prepare_metadata_for_build_wheel
def prepare_build_wheel_files(build_directory, config_settings):
shutil.copy("pyproject.toml", build_directory)
for pyfile in glob("*.py"):
shutil.copy(pyfile, build_directory)
for distinfo in glob("*.dist-info"):
shutil.copytree(distinfo, pjoin(build_directory, distinfo))
def build_wheel(wheel_directory, config_settings, metadata_directory=None):
whl_file = "pkg1-0.5-py2.py3-none-any.whl"
with ZipFile(pjoin(wheel_directory, whl_file), "w") as zf:
for pyfile in glob("*.py"):
zf.write(pyfile)
for metadata in glob("*.dist-info/*"):
zf.write(metadata)
return whl_file
build_editable = build_wheel
def get_requires_for_build_sdist(config_settings):
return ["frog"]
class UnsupportedOperation(Exception):
pass
def build_sdist(sdist_directory, config_settings):
if config_settings.get("test_unsupported", False):
raise UnsupportedOperation
target = "pkg1-0.5.tar.gz"
with tarfile.open(
pjoin(sdist_directory, target), "w:gz", format=tarfile.PAX_FORMAT
) as tf:
def _add(relpath):
tf.add(relpath, arcname="pkg1-0.5/" + relpath)
_add("pyproject.toml")
for pyfile in glob("*.py"):
_add(pyfile)
return target
|