|
18 | 18 | from poetry.vcs import get_vcs
|
19 | 19 | from poetry.version.helpers import format_python_constraint
|
20 | 20 |
|
| 21 | +from ..metadata import Metadata |
21 | 22 | from ..utils.helpers import normalize_file_permissions
|
22 | 23 | from ..utils.tags import get_abbr_impl
|
23 | 24 | from ..utils.tags import get_abi_tag
|
@@ -292,36 +293,39 @@ def _write_wheel_file(self, fp):
|
292 | 293 |
|
293 | 294 | def _write_metadata_file(self, fp):
|
294 | 295 | """
|
295 |
| - Write out metadata in the 1.x format (email like) |
| 296 | + Write out metadata in the 2.x format (email like) |
296 | 297 | """
|
297 |
| - fp.write('Metadata-Version: 1.2\n') |
298 |
| - fp.write(f'Name: {self._package.name}\n') |
299 |
| - fp.write(f'Version: {self._package.version}\n') |
300 |
| - fp.write(f'Summary: {self._package.description}\n') |
301 |
| - fp.write(f'Home-page: {self._package.homepage or self._package.repository_url or "UNKNOWN"}\n') |
302 |
| - fp.write(f'License: {self._package.license or "UNKOWN"}\n') |
| 298 | + fp.write('Metadata-Version: 2.1\n') |
| 299 | + fp.write(f'Name: {self._meta.name}\n') |
| 300 | + fp.write(f'Version: {self._meta.version}\n') |
| 301 | + fp.write(f'Summary: {self._meta.summary}\n') |
| 302 | + fp.write(f'Home-page: {self._meta.home_page or "UNKNOWN"}\n') |
| 303 | + fp.write(f'License: {self._meta.license or "UNKOWN"}\n') |
303 | 304 |
|
304 | 305 | # Optional fields
|
305 |
| - if self._package.keywords: |
306 |
| - fp.write(f"Keywords: {','.join(self._package.keywords)}\n") |
| 306 | + if self._meta.keywords: |
| 307 | + fp.write(f"Keywords: {self._meta.keywords}\n") |
307 | 308 |
|
308 |
| - if self._package.authors: |
309 |
| - author = self.convert_author(self._package.authors[0]) |
| 309 | + if self._meta.author: |
| 310 | + fp.write(f'Author: {self._meta.author}\n') |
310 | 311 |
|
311 |
| - fp.write(f'Author: {author["name"]}\n') |
312 |
| - fp.write(f'Author-email: {author["email"]}\n') |
| 312 | + if self._meta.author_email: |
| 313 | + fp.write(f'Author-email: {self._meta.author_email}\n') |
313 | 314 |
|
314 |
| - if self._package.python_versions != '*': |
315 |
| - python_requires = format_python_constraint(self._package.python_constraint) |
| 315 | + if self._meta.requires_python: |
| 316 | + fp.write(f'Requires-Python: {self._meta.requires_python}\n') |
316 | 317 |
|
317 |
| - fp.write(f'Requires-Python: {python_requires}\n') |
318 |
| - |
319 |
| - classifiers = self.get_classifers() |
320 |
| - for classifier in classifiers: |
| 318 | + for classifier in self._meta.classifiers: |
321 | 319 | fp.write(f'Classifier: {classifier}\n')
|
322 | 320 |
|
323 |
| - for dep in self._package.requires: |
324 |
| - fp.write('Requires-Dist: {}\n'.format(dep.to_pep_508())) |
| 321 | + for dep in self._meta.requires_dist: |
| 322 | + fp.write(f'Requires-Dist: {dep}\n') |
| 323 | + |
| 324 | + if self._meta.description_content_type: |
| 325 | + fp.write(f'Description-Content-Type: ' |
| 326 | + f'{self._meta.description_content_type}\n') |
| 327 | + |
| 328 | + # TODO: Provides extra |
325 | 329 |
|
326 |
| - if self._package.readme is not None: |
327 |
| - fp.write('\n' + self._package.readme + '\n') |
| 330 | + if self._meta.description is not None: |
| 331 | + fp.write('\n' + self._meta.description + '\n') |
0 commit comments