|
1 |
| -"""Metadata generation logic for source distributions. |
| 1 | +"""Metadata generation logic for legacy source distributions. |
2 | 2 | """
|
3 | 3 |
|
4 |
| -import atexit |
5 | 4 | import logging
|
6 | 5 | import os
|
7 | 6 |
|
8 | 7 | from pip._internal.exceptions import InstallationError
|
9 | 8 | from pip._internal.utils.misc import ensure_dir
|
10 | 9 | from pip._internal.utils.setuptools_build import make_setuptools_egg_info_args
|
11 |
| -from pip._internal.utils.subprocess import ( |
12 |
| - call_subprocess, |
13 |
| - runner_with_spinner_message, |
14 |
| -) |
15 |
| -from pip._internal.utils.temp_dir import TempDirectory |
| 10 | +from pip._internal.utils.subprocess import call_subprocess |
16 | 11 | from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
17 | 12 | from pip._internal.vcs import vcs
|
18 | 13 |
|
19 | 14 | if MYPY_CHECK_RUNNING:
|
20 |
| - from typing import Callable, List, Optional |
| 15 | + from typing import List, Optional |
21 | 16 |
|
22 | 17 | from pip._internal.req.req_install import InstallRequirement
|
23 | 18 |
|
24 | 19 | logger = logging.getLogger(__name__)
|
25 | 20 |
|
26 | 21 |
|
27 |
| -def get_metadata_generator(install_req): |
28 |
| - # type: (InstallRequirement) -> Callable[[InstallRequirement], str] |
29 |
| - """Return a callable metadata generator for this InstallRequirement. |
30 |
| -
|
31 |
| - A metadata generator takes an InstallRequirement (install_req) as an input, |
32 |
| - generates metadata via the appropriate process for that install_req and |
33 |
| - returns the generated metadata directory. |
34 |
| - """ |
35 |
| - if not install_req.use_pep517: |
36 |
| - return _generate_metadata_legacy |
37 |
| - |
38 |
| - return _generate_metadata |
39 |
| - |
40 |
| - |
41 | 22 | def _find_egg_info(source_directory, is_editable):
|
42 | 23 | # type: (str, bool) -> str
|
43 | 24 | """Find an .egg-info in `source_directory`, based on `is_editable`.
|
@@ -97,8 +78,10 @@ def depth_of_directory(dir_):
|
97 | 78 | return os.path.join(base, filenames[0])
|
98 | 79 |
|
99 | 80 |
|
100 |
| -def _generate_metadata_legacy(install_req): |
| 81 | +def generate_metadata(install_req): |
101 | 82 | # type: (InstallRequirement) -> str
|
| 83 | + assert install_req.unpacked_source_directory |
| 84 | + |
102 | 85 | req_details_str = install_req.name or "from {}".format(install_req.link)
|
103 | 86 | logger.debug(
|
104 | 87 | 'Running setup.py (path:%s) egg_info for package %s',
|
@@ -135,28 +118,3 @@ def _generate_metadata_legacy(install_req):
|
135 | 118 | install_req.unpacked_source_directory,
|
136 | 119 | install_req.editable,
|
137 | 120 | )
|
138 |
| - |
139 |
| - |
140 |
| -def _generate_metadata(install_req): |
141 |
| - # type: (InstallRequirement) -> str |
142 |
| - assert install_req.pep517_backend is not None |
143 |
| - build_env = install_req.build_env |
144 |
| - backend = install_req.pep517_backend |
145 |
| - |
146 |
| - # NOTE: This needs to be refactored to stop using atexit |
147 |
| - metadata_tmpdir = TempDirectory(kind="modern-metadata") |
148 |
| - atexit.register(metadata_tmpdir.cleanup) |
149 |
| - |
150 |
| - metadata_dir = metadata_tmpdir.path |
151 |
| - |
152 |
| - with build_env: |
153 |
| - # Note that Pep517HookCaller implements a fallback for |
154 |
| - # prepare_metadata_for_build_wheel, so we don't have to |
155 |
| - # consider the possibility that this hook doesn't exist. |
156 |
| - runner = runner_with_spinner_message("Preparing wheel metadata") |
157 |
| - with backend.subprocess_runner(runner): |
158 |
| - distinfo_dir = backend.prepare_metadata_for_build_wheel( |
159 |
| - metadata_dir |
160 |
| - ) |
161 |
| - |
162 |
| - return os.path.join(metadata_dir, distinfo_dir) |
0 commit comments