Skip to content

Commit fd54fd0

Browse files
authored
_metadata_from_built_wheel: pass metadata_directory=None (#48)
Fix #47
1 parent fa24321 commit fd54fd0

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

docs/changelog.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
Release History
22
===============
33

4+
v1.5.0 - (2023-01-17)
5+
---------------------
6+
- When getting metadata from a built wheel, do not pass ``metadata_directory``
7+
to ``build_wheel``, which forces the backend to generate the metadata - by :user:`masenf`.
8+
(`#47 <https://github.com/tox-dev/pyproject-api/issues/47>`_)
9+
410
v1.4.0 - (2022-01-04)
511
---------------------
612
- Add minimal CLI for debugging

src/pyproject_api/_frontend.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ def _metadata_from_built_wheel(
453453
wheel_result = getattr(self, cmd)(
454454
wheel_directory=wheel_directory,
455455
config_settings=config_settings,
456-
metadata_directory=metadata_directory,
456+
metadata_directory=None, # let the backend populate the metadata
457457
)
458458
wheel = wheel_result.wheel
459459
if not wheel.exists():

tests/demo_pkg_inline/build.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
record = "{}/RECORD".format(dist_info)
2121
content = {
2222
logic: "def do():\n print('greetings from {}')".format(name),
23+
}
24+
metadata = {
2325
metadata: """
2426
Metadata-Version: 2.1
2527
Name: {}
@@ -62,6 +64,16 @@ def build_wheel(wheel_directory, metadata_directory=None, config_settings=None):
6264
with ZipFile(path, "w") as zip_file_handler:
6365
for arc_name, data in content.items(): # pragma: no branch
6466
zip_file_handler.writestr(arc_name, dedent(data).strip())
67+
if metadata_directory is not None:
68+
for sub_directory, _, filenames in os.walk(metadata_directory):
69+
for filename in filenames:
70+
zip_file_handler.write(
71+
os.path.join(metadata_directory, sub_directory, filename),
72+
os.path.join(sub_directory, filename),
73+
)
74+
else:
75+
for arc_name, data in metadata.items(): # pragma: no branch
76+
zip_file_handler.writestr(arc_name, dedent(data).strip())
6577
print("created wheel {}".format(path))
6678
return base_name
6779

0 commit comments

Comments
 (0)