Skip to content

Commit

Permalink
Deprecate --build-dir
Browse files Browse the repository at this point in the history
  • Loading branch information
sbidoul committed Jun 1, 2020
1 parent 549a9d1 commit 8ea8bab
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 2 deletions.
4 changes: 4 additions & 0 deletions news/8372.removal
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Deprecate -b/--build/--build-dir/--build-directory. Its current behaviour is confusing
and breaks in case different versions of the same distribution need to be built during
the resolution process. Using the TMPDIR/TEMP/TMP environment variable, possibly
combined with --no-clean covers known use cases.
14 changes: 14 additions & 0 deletions src/pip/_internal/cli/base_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,20 @@ def _main(self, args):
)
options.cache_dir = None

if getattr(options, "build_dir", None):
deprecated(
reason=(
"The -b/--build/--build-dir/--build-directory "
"option is deprecated."
),
replacement=(
"use the TMPDIR/TEMP/TMP environment variable, "
"possibly combined with --no-clean"
),
gone_in="20.3",
issue=8333,
)

try:
status = self.run(options, args)
assert isinstance(status, int)
Expand Down
3 changes: 2 additions & 1 deletion src/pip/_internal/cli/cmdoptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -702,7 +702,8 @@ def _handle_build_dir(option, opt, value, parser):
metavar='dir',
action='callback',
callback=_handle_build_dir,
help='Directory to unpack packages into and build in. Note that '
help='(DEPRECATED) '
'Directory to unpack packages into and build in. Note that '
'an initial build still takes place in a temporary directory. '
'The location of temporary directories can be controlled by setting '
'the TMPDIR environment variable (TEMP on Windows) appropriately. '
Expand Down
6 changes: 5 additions & 1 deletion tests/functional/test_install_cleanup.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@ def test_no_clean_option_blocks_cleaning_after_install(script, data):
build = script.base_path / 'pip-build'
script.pip(
'install', '--no-clean', '--no-index', '--build', build,
'--find-links={}'.format(data.find_links), 'simple', expect_temp=True,
'--find-links={}'.format(data.find_links), 'simple',
expect_temp=True,
# TODO: allow_stderr_warning is used for the --build deprecation,
# remove it when removing support for --build
allow_stderr_warning=True,
)
assert exists(build)

Expand Down
3 changes: 3 additions & 0 deletions tests/functional/test_wheel.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,9 @@ def test_no_clean_option_blocks_cleaning_after_wheel(script, data):
'--find-links={data.find_links}'.format(**locals()),
'simple',
expect_temp=True,
# TODO: allow_stderr_warning is used for the --build deprecation,
# remove it when removing support for --build
allow_stderr_warning=True,
)
build = build / 'simple'
assert exists(build), \
Expand Down

0 comments on commit 8ea8bab

Please sign in to comment.