Skip to content
Open
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
2 changes: 1 addition & 1 deletion examples/demo/MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,6 @@ use_repo(pip, "pip")
reqs = use_extension("@rules_pydeps//pydeps:reqs.bzl", "reqs")
reqs.requirements(
pip_requirements = "@pip//:requirements.bzl",
requirements_in = "//:requirements.in",
requirements_txt = "//:requirements.txt",
)
use_repo(reqs, "reqs")
4 changes: 2 additions & 2 deletions pydeps/private/index/reqs.bzl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"Read requirements.in and produce a repository with a variable that contains just the input requirements."
"Read requirements.txt and produce a repository with a variable that contains just the input requirements."

def _format_pins(pins):
return "\n".join([" \"{pin}\",".format(pin = pin) for pin in pins])
Expand Down Expand Up @@ -40,7 +40,7 @@ def _in_impl(rctx):
"{{types}}": _format_pins(types),
})

requirements_in = repository_rule(
requirements_txt = repository_rule(
attrs = {
"files": attr.label_list(mandatory = True, allow_files = True),
"pip_requirements": attr.label(mandatory = True),
Expand Down
4 changes: 2 additions & 2 deletions pydeps/private/index/templates/pins.bzl.template
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# generated by rules_pydeps

# a list of requirements pinned by requirements.in files
# a list of requirements pinned by requirements.txt files
pins = [
{{pins}}
]

# list of types pinned by requirements.in files
# list of types pinned by requirements.txt files
types = [
{{types}}
]
10 changes: 5 additions & 5 deletions pydeps/reqs.bzl
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
"Module extension to read requirements.in and produce a repository that contains Starlark variables with requirements."
"Module extension to read requirements.txt and produce a repository that contains Starlark variables with requirements."

load("//pydeps/private/index:reqs.bzl", "requirements_in")
load("//pydeps/private/index:reqs.bzl", "requirements_txt")

requirements = tag_class(
attrs = {
"requirements_in": attr.label(mandatory = True, allow_single_file = True),
"requirements_txt": attr.label(mandatory = True, allow_single_file = True),
"pip_requirements": attr.label(mandatory = True),
},
)
Expand All @@ -14,13 +14,13 @@ def _extension(module_ctx):
pip_reqs = {}
for mod in module_ctx.modules:
for tag in mod.tags.requirements:
files.append(tag.requirements_in)
files.append(tag.requirements_txt)
pip_reqs[tag.pip_requirements] = 1

if len(pip_reqs) > 1:
fail("pydeps requires all `pip_requirements` values to be the same.")

requirements_in(
requirements_txt(
name = "reqs",
files = files,
pip_requirements = pip_reqs.keys()[0],
Expand Down
2 changes: 1 addition & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ bazel_dep(name = "rules_pydeps", version = "0.0.0")
```starlark
reqs = use_extension("@rules_pydeps//pydeps:reqs.bzl", "reqs")
reqs.requirements(
requirements_in = "//:requirements.in",
requirements_txt = "//:requirements.txt",
pip_requirements = "@pip//:requirements.bzl",
)
use_repo(reqs, "reqs")
Expand Down