Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ Unreleased changes template.
* (rules) deprecation warnings for deprecated symbols have been turned off by
default for now and can be enabled with `RULES_PYTHON_DEPRECATION_WARNINGS`
env var.
* (pypi) Downgraded versions of packages: `pip` from `24.3.2` to `24.0.0` and
`packaging` from `24.2` to `24.0`.

{#v0-0-0-fixed}
### Fixed
Expand All @@ -67,6 +69,9 @@ Unreleased changes template.
as UTF-8 on all platforms.
* (coverage) Coverage with `--bootstrap_impl=script` is fixed
([#2572](https://github.com/bazelbuild/rules_python/issues/2572)).
* (pypi) Non deterministic behaviour in requirement file usage has been fixed
by reverting [#2514](https://github.com/bazelbuild/rules_python/pull/2514).
The related issue is [#908](https://github.com/bazelbuild/rules_python/issue/908).
* (sphinxdocs) Do not crash when `tag_class` does not have a populated `doc` value.
Fixes ([#2579](https://github.com/bazelbuild/rules_python/issues/2579)).

Expand Down
30 changes: 7 additions & 23 deletions python/private/pypi/dependency_resolver/dependency_resolver.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

import atexit
import os
import re
import shutil
import sys
from pathlib import Path
Expand Down Expand Up @@ -118,6 +117,7 @@ def main(
absolute_path_prefix = resolved_requirements_file[
: -(len(requirements_file) - len(repository_prefix))
]

# As srcs might contain references to generated files we want to
# use the runfiles file first. Thus, we need to compute the relative path
# from the execution root.
Expand Down Expand Up @@ -162,19 +162,12 @@ def main(
argv.append(
f"--output-file={requirements_file_relative if UPDATE else requirements_out}"
)
src_files = [
argv.extend(
(src_relative if Path(src_relative).exists() else resolved_src)
for src_relative, resolved_src in zip(srcs_relative, resolved_srcs)
]
argv.extend(src_files)
)
argv.extend(extra_args)

# Replace in the output lock file
# the lines like: # via -r /absolute/path/to/<requirements_file>
# with: # via -r <requirements_file>
# For Windows, we should explicitly call .as_posix() to convert \\ -> /
absolute_src_prefixes = [Path(src).absolute().parent.as_posix() + "/" for src in src_files]

if UPDATE:
print("Updating " + requirements_file_relative)

Expand All @@ -192,14 +185,14 @@ def main(
# and we should copy the updated requirements back to the source tree.
if not absolute_output_file.samefile(requirements_file_tree):
atexit.register(
lambda: shutil.copy(absolute_output_file, requirements_file_tree)
lambda: shutil.copy(
absolute_output_file, requirements_file_tree
)
)
cli(argv, standalone_mode=False)
cli(argv, standalone_mode = False)
requirements_file_relative_path = Path(requirements_file_relative)
content = requirements_file_relative_path.read_text()
content = content.replace(absolute_path_prefix, "")
for absolute_src_prefix in absolute_src_prefixes:
content = content.replace(absolute_src_prefix, "")
requirements_file_relative_path.write_text(content)
else:
# cli will exit(0) on success
Expand All @@ -221,15 +214,6 @@ def main(
golden = open(_locate(bazel_runfiles, requirements_file)).readlines()
out = open(requirements_out).readlines()
out = [line.replace(absolute_path_prefix, "") for line in out]

def replace_via_minus_r(line):
if "# via -r " in line:
for absolute_src_prefix in absolute_src_prefixes:
line = line.replace(absolute_src_prefix, "")
return line
return line

out = [replace_via_minus_r(line) for line in out]
if golden != out:
import difflib

Expand Down
8 changes: 4 additions & 4 deletions python/private/pypi/deps.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ _RULE_DEPS = [
),
(
"pypi__packaging",
"https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl",
"09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759",
"https://files.pythonhosted.org/packages/49/df/1fceb2f8900f8639e278b056416d49134fb8d84c5942ffaa01ad34782422/packaging-24.0-py3-none-any.whl",
"2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5",
),
(
"pypi__pep517",
Expand All @@ -61,8 +61,8 @@ _RULE_DEPS = [
),
(
"pypi__pip",
"https://files.pythonhosted.org/packages/ef/7d/500c9ad20238fcfcb4cb9243eede163594d7020ce87bd9610c9e02771876/pip-24.3.1-py3-none-any.whl",
"3790624780082365f47549d032f3770eeb2b1e8bd1f7b2e02dace1afa361b4ed",
"https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl",
"ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc",
),
(
"pypi__pip_tools",
Expand Down