Skip to content

Commit 7fabb16

Browse files
authored
Merge pull request #7051 from pradyunsg/refactor/metadata-generator
Call into operations.generate_metadata to generate metadata
2 parents 43864b8 + 6d8c3fd commit 7fabb16

File tree

2 files changed

+29
-4
lines changed

2 files changed

+29
-4
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
"""Metadata generation logic for source distributions.
2+
"""
3+
4+
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
5+
6+
if MYPY_CHECK_RUNNING:
7+
from typing import Callable
8+
from pip._internal.req.req_install import InstallRequirement
9+
10+
11+
def get_metadata_generator(install_req):
12+
# type: (InstallRequirement) -> Callable[[InstallRequirement], None]
13+
if not install_req.use_pep517:
14+
return _generate_metadata_legacy
15+
16+
return _generate_metadata
17+
18+
19+
def _generate_metadata_legacy(install_req):
20+
# type: (InstallRequirement) -> None
21+
install_req.run_egg_info()
22+
23+
24+
def _generate_metadata(install_req):
25+
# type: (InstallRequirement) -> None
26+
install_req.prepare_pep517_metadata()

src/pip/_internal/req/req_install.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from pip._internal.build_env import NoOpBuildEnvironment
2424
from pip._internal.exceptions import InstallationError
2525
from pip._internal.models.link import Link
26+
from pip._internal.operations.generate_metadata import get_metadata_generator
2627
from pip._internal.pyproject import load_pyproject_toml, make_pyproject_path
2728
from pip._internal.req.req_uninstall import UninstallPathSet
2829
from pip._internal.utils.compat import native_str
@@ -566,11 +567,9 @@ def prepare_metadata(self):
566567
"""
567568
assert self.source_dir
568569

570+
metadata_generator = get_metadata_generator(self)
569571
with indent_log():
570-
if self.use_pep517:
571-
self.prepare_pep517_metadata()
572-
else:
573-
self.run_egg_info()
572+
metadata_generator(self)
574573

575574
if not self.req:
576575
if isinstance(parse_version(self.metadata["Version"]), Version):

0 commit comments

Comments
 (0)