Skip to content

Commit

Permalink
Use per-platform pip requirements.
Browse files Browse the repository at this point in the history
These are now natively supported by rules_python,
cf. bazelbuild/rules_python#531.  This means we can now
remove our hand-rolled support for per-platform requirements.
  • Loading branch information
phst committed Apr 22, 2022
1 parent e4424b1 commit 8a2a7c4
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 31 deletions.
9 changes: 4 additions & 5 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,14 @@ http_archive(
url = "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.8.1.tar.gz",
)

load("@//private:defs.bzl", "requirements_txt")

requirements_txt(name = "requirements_txt")

load("@rules_python//python:pip.bzl", "pip_parse")

pip_parse(
name = "pip_deps",
requirements_lock = "@requirements_txt//:requirements.txt",
requirements_darwin = "@//:macos-requirements.txt",
requirements_linux = "@//:linux-requirements.txt",
requirements_lock = None,
requirements_windows = "@//:windows-requirements.txt",
)

load("@pip_deps//:requirements.bzl", "install_deps")
Expand Down
26 changes: 0 additions & 26 deletions private/defs.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -18,32 +18,6 @@ These definitions are internal and subject to change without notice."""

load("@bazel_skylib//lib:paths.bzl", "paths")

def _requirements_txt_impl(repository_ctx):
"""Implementation of the “copy_requirements_txt” repository rule."""
prefixes = {
"linux": "linux",
"mac os x": "macos",
"windows server 2019": "windows",
}
prefix = prefixes.get(repository_ctx.os.name, None)
if not prefix:
fail("Unsupported operating system “{}”".format(repository_ctx.os.name))
repository_ctx.symlink(
Label("@//:{}-requirements.txt".format(prefix)),
"requirements.txt",
)
repository_ctx.file(
"BUILD",
'exports_files(["requirements.txt"])',
executable = False,
)

requirements_txt = repository_rule(
implementation = _requirements_txt_impl,
local = True,
doc = "Generates requirements.txt for the current platform.",
)

def _check_python_impl(target, ctx):
tags = ctx.rule.attr.tags
if "no-python-check" in tags:
Expand Down

0 comments on commit 8a2a7c4

Please sign in to comment.