Skip to content

Commit 7d61883

Browse files
authored
Merge pull request #10989 from pradyunsg/requirement-tracker-to-build-tracker
2 parents b2b7aef + de1c798 commit 7d61883

File tree

9 files changed

+33
-33
lines changed

9 files changed

+33
-33
lines changed

src/pip/_internal/cli/req_command.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from pip._internal.models.selection_prefs import SelectionPreferences
2323
from pip._internal.models.target_python import TargetPython
2424
from pip._internal.network.session import PipSession
25+
from pip._internal.operations.build.build_tracker import BuildTracker
2526
from pip._internal.operations.prepare import RequirementPreparer
2627
from pip._internal.req.constructors import (
2728
install_req_from_editable,
@@ -31,7 +32,6 @@
3132
)
3233
from pip._internal.req.req_file import parse_requirements
3334
from pip._internal.req.req_install import InstallRequirement
34-
from pip._internal.req.req_tracker import RequirementTracker
3535
from pip._internal.resolution.base import BaseResolver
3636
from pip._internal.self_outdated_check import pip_self_version_check
3737
from pip._internal.utils.deprecation import deprecated
@@ -257,7 +257,7 @@ def make_requirement_preparer(
257257
cls,
258258
temp_build_dir: TempDirectory,
259259
options: Values,
260-
req_tracker: RequirementTracker,
260+
build_tracker: BuildTracker,
261261
session: PipSession,
262262
finder: PackageFinder,
263263
use_user_site: bool,
@@ -314,7 +314,7 @@ def make_requirement_preparer(
314314
src_dir=options.src_dir,
315315
download_dir=download_dir,
316316
build_isolation=options.build_isolation,
317-
req_tracker=req_tracker,
317+
build_tracker=build_tracker,
318318
session=session,
319319
progress_bar=options.progress_bar,
320320
finder=finder,

src/pip/_internal/commands/download.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from pip._internal.cli.cmdoptions import make_target_python
88
from pip._internal.cli.req_command import RequirementCommand, with_cleanup
99
from pip._internal.cli.status_codes import SUCCESS
10-
from pip._internal.req.req_tracker import get_requirement_tracker
10+
from pip._internal.operations.build.build_tracker import get_build_tracker
1111
from pip._internal.utils.misc import ensure_dir, normalize_path, write_output
1212
from pip._internal.utils.temp_dir import TempDirectory
1313

@@ -95,7 +95,7 @@ def run(self, options: Values, args: List[str]) -> int:
9595
ignore_requires_python=options.ignore_requires_python,
9696
)
9797

98-
req_tracker = self.enter_context(get_requirement_tracker())
98+
build_tracker = self.enter_context(get_build_tracker())
9999

100100
directory = TempDirectory(
101101
delete=not options.no_clean,
@@ -108,7 +108,7 @@ def run(self, options: Values, args: List[str]) -> int:
108108
preparer = self.make_requirement_preparer(
109109
temp_build_dir=directory,
110110
options=options,
111-
req_tracker=req_tracker,
111+
build_tracker=build_tracker,
112112
session=session,
113113
finder=finder,
114114
download_dir=options.download_dir,

src/pip/_internal/commands/install.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
from pip._internal.locations import get_scheme
2222
from pip._internal.metadata import get_environment
2323
from pip._internal.models.format_control import FormatControl
24+
from pip._internal.operations.build.build_tracker import get_build_tracker
2425
from pip._internal.operations.check import ConflictDetails, check_install_conflicts
2526
from pip._internal.req import install_given_reqs
2627
from pip._internal.req.req_install import InstallRequirement
27-
from pip._internal.req.req_tracker import get_requirement_tracker
2828
from pip._internal.utils.compat import WINDOWS
2929
from pip._internal.utils.distutils_args import parse_distutils_args
3030
from pip._internal.utils.filesystem import test_writable_dir
@@ -293,7 +293,7 @@ def run(self, options: Values, args: List[str]) -> int:
293293
)
294294
wheel_cache = WheelCache(options.cache_dir, options.format_control)
295295

296-
req_tracker = self.enter_context(get_requirement_tracker())
296+
build_tracker = self.enter_context(get_build_tracker())
297297

298298
directory = TempDirectory(
299299
delete=not options.no_clean,
@@ -315,7 +315,7 @@ def run(self, options: Values, args: List[str]) -> int:
315315
preparer = self.make_requirement_preparer(
316316
temp_build_dir=directory,
317317
options=options,
318-
req_tracker=req_tracker,
318+
build_tracker=build_tracker,
319319
session=session,
320320
finder=finder,
321321
use_user_site=options.use_user_site,

src/pip/_internal/commands/wheel.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
from pip._internal.cli.req_command import RequirementCommand, with_cleanup
1010
from pip._internal.cli.status_codes import SUCCESS
1111
from pip._internal.exceptions import CommandError
12+
from pip._internal.operations.build.build_tracker import get_build_tracker
1213
from pip._internal.req.req_install import InstallRequirement
13-
from pip._internal.req.req_tracker import get_requirement_tracker
1414
from pip._internal.utils.misc import ensure_dir, normalize_path
1515
from pip._internal.utils.temp_dir import TempDirectory
1616
from pip._internal.wheel_builder import build, should_build_for_wheel_command
@@ -108,7 +108,7 @@ def run(self, options: Values, args: List[str]) -> int:
108108
options.wheel_dir = normalize_path(options.wheel_dir)
109109
ensure_dir(options.wheel_dir)
110110

111-
req_tracker = self.enter_context(get_requirement_tracker())
111+
build_tracker = self.enter_context(get_build_tracker())
112112

113113
directory = TempDirectory(
114114
delete=not options.no_clean,
@@ -121,7 +121,7 @@ def run(self, options: Values, args: List[str]) -> int:
121121
preparer = self.make_requirement_preparer(
122122
temp_build_dir=directory,
123123
options=options,
124-
req_tracker=req_tracker,
124+
build_tracker=build_tracker,
125125
session=session,
126126
finder=finder,
127127
download_dir=options.wheel_dir,

src/pip/_internal/req/req_tracker.py renamed to src/pip/_internal/operations/build/build_tracker.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,25 +39,25 @@ def update_env_context_manager(**changes: str) -> Iterator[None]:
3939

4040

4141
@contextlib.contextmanager
42-
def get_requirement_tracker() -> Iterator["RequirementTracker"]:
43-
root = os.environ.get("PIP_REQ_TRACKER")
42+
def get_build_tracker() -> Iterator["BuildTracker"]:
43+
root = os.environ.get("PIP_BUILD_TRACKER")
4444
with contextlib.ExitStack() as ctx:
4545
if root is None:
46-
root = ctx.enter_context(TempDirectory(kind="req-tracker")).path
47-
ctx.enter_context(update_env_context_manager(PIP_REQ_TRACKER=root))
46+
root = ctx.enter_context(TempDirectory(kind="build-tracker")).path
47+
ctx.enter_context(update_env_context_manager(PIP_BUILD_TRACKER=root))
4848
logger.debug("Initialized build tracking at %s", root)
4949

50-
with RequirementTracker(root) as tracker:
50+
with BuildTracker(root) as tracker:
5151
yield tracker
5252

5353

54-
class RequirementTracker:
54+
class BuildTracker:
5555
def __init__(self, root: str) -> None:
5656
self._root = root
5757
self._entries: Set[InstallRequirement] = set()
5858
logger.debug("Created build tracker: %s", self._root)
5959

60-
def __enter__(self) -> "RequirementTracker":
60+
def __enter__(self) -> "BuildTracker":
6161
logger.debug("Entered build tracker: %s", self._root)
6262
return self
6363

src/pip/_internal/operations/prepare.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
dist_from_wheel_url,
3434
)
3535
from pip._internal.network.session import PipSession
36+
from pip._internal.operations.build.build_tracker import BuildTracker
3637
from pip._internal.req.req_install import InstallRequirement
37-
from pip._internal.req.req_tracker import RequirementTracker
3838
from pip._internal.utils.filesystem import copy2_fixed
3939
from pip._internal.utils.hashes import Hashes, MissingHashes
4040
from pip._internal.utils.logging import indent_log
@@ -48,13 +48,13 @@
4848

4949
def _get_prepared_distribution(
5050
req: InstallRequirement,
51-
req_tracker: RequirementTracker,
51+
build_tracker: BuildTracker,
5252
finder: PackageFinder,
5353
build_isolation: bool,
5454
) -> BaseDistribution:
5555
"""Prepare a distribution for installation."""
5656
abstract_dist = make_distribution_for_install_requirement(req)
57-
with req_tracker.track(req):
57+
with build_tracker.track(req):
5858
abstract_dist.prepare_distribution_metadata(finder, build_isolation)
5959
return abstract_dist.get_metadata_distribution()
6060

@@ -261,7 +261,7 @@ def __init__(
261261
download_dir: Optional[str],
262262
src_dir: str,
263263
build_isolation: bool,
264-
req_tracker: RequirementTracker,
264+
build_tracker: BuildTracker,
265265
session: PipSession,
266266
progress_bar: str,
267267
finder: PackageFinder,
@@ -275,7 +275,7 @@ def __init__(
275275

276276
self.src_dir = src_dir
277277
self.build_dir = build_dir
278-
self.req_tracker = req_tracker
278+
self.build_tracker = build_tracker
279279
self._session = session
280280
self._download = Downloader(session, progress_bar)
281281
self._batch_download = BatchDownloader(session, progress_bar)
@@ -555,7 +555,7 @@ def _prepare_linked_requirement(
555555

556556
dist = _get_prepared_distribution(
557557
req,
558-
self.req_tracker,
558+
self.build_tracker,
559559
self.finder,
560560
self.build_isolation,
561561
)
@@ -608,7 +608,7 @@ def prepare_editable_requirement(
608608

609609
dist = _get_prepared_distribution(
610610
req,
611-
self.req_tracker,
611+
self.build_tracker,
612612
self.finder,
613613
self.build_isolation,
614614
)

tests/conftest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ def isolate(tmpdir: Path, monkeypatch: pytest.MonkeyPatch) -> None:
271271
monkeypatch.setenv("PIP_DISABLE_PIP_VERSION_CHECK", "true")
272272

273273
# Make sure tests don't share a requirements tracker.
274-
monkeypatch.delenv("PIP_REQ_TRACKER", False)
274+
monkeypatch.delenv("PIP_BUILD_TRACKER", False)
275275

276276
# FIXME: Windows...
277277
os.makedirs(os.path.join(home_dir, ".config", "git"))

tests/unit/resolution_resolvelib/conftest.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
from pip._internal.models.search_scope import SearchScope
1212
from pip._internal.models.selection_prefs import SelectionPreferences
1313
from pip._internal.network.session import PipSession
14+
from pip._internal.operations.build.build_tracker import get_build_tracker
1415
from pip._internal.operations.prepare import RequirementPreparer
1516
from pip._internal.req.constructors import install_req_from_line
16-
from pip._internal.req.req_tracker import get_requirement_tracker
1717
from pip._internal.resolution.resolvelib.factory import Factory
1818
from pip._internal.resolution.resolvelib.provider import PipProvider
1919
from pip._internal.utils.temp_dir import TempDirectory, global_tempdir_manager
@@ -38,11 +38,11 @@ def preparer(finder: PackageFinder) -> Iterator[RequirementPreparer]:
3838

3939
with global_tempdir_manager():
4040
with TempDirectory() as tmp:
41-
with get_requirement_tracker() as tracker:
41+
with get_build_tracker() as tracker:
4242
preparer = RequirementCommand.make_requirement_preparer(
4343
tmp,
4444
options=o[0],
45-
req_tracker=tracker,
45+
build_tracker=tracker,
4646
session=session,
4747
finder=finder,
4848
use_user_site=False,

tests/unit/test_req.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from pip._internal.index.package_finder import PackageFinder
2424
from pip._internal.metadata.pkg_resources import Distribution
2525
from pip._internal.network.session import PipSession
26+
from pip._internal.operations.build.build_tracker import get_build_tracker
2627
from pip._internal.operations.prepare import RequirementPreparer
2728
from pip._internal.req import InstallRequirement, RequirementSet
2829
from pip._internal.req.constructors import (
@@ -39,7 +40,6 @@
3940
get_line_parser,
4041
handle_requirement_line,
4142
)
42-
from pip._internal.req.req_tracker import get_requirement_tracker
4343
from pip._internal.resolution.legacy.resolver import Resolver
4444
from pip._internal.utils.urls import path_to_url
4545
from tests.lib import TestData, make_test_finder, requirements_file
@@ -85,13 +85,13 @@ def _basic_resolver(
8585
)
8686
session = PipSession()
8787

88-
with get_requirement_tracker() as tracker:
88+
with get_build_tracker() as tracker:
8989
preparer = RequirementPreparer(
9090
build_dir=os.path.join(self.tempdir, "build"),
9191
src_dir=os.path.join(self.tempdir, "src"),
9292
download_dir=None,
9393
build_isolation=True,
94-
req_tracker=tracker,
94+
build_tracker=tracker,
9595
session=session,
9696
progress_bar="on",
9797
finder=finder,

0 commit comments

Comments
 (0)