Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 5db616d

Browse filesBrowse files
author
Alex Eagle
committed
platform_requirements
1 parent 79cebad commit 5db616d
Copy full SHA for 5db616d

File tree

Expand file treeCollapse file tree

2 files changed

+22
-5
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+22
-5
lines changed

‎python/pip.bzl

Copy file name to clipboardExpand all lines: python/pip.bzl
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ load("//python/pip_install:requirements.bzl", _compile_pip_requirements = "compi
2020
compile_pip_requirements = _compile_pip_requirements
2121
package_annotation = _package_annotation
2222

23-
def pip_install(requirements, name = "pip", **kwargs):
23+
def pip_install(requirements = None, name = "pip", **kwargs):
2424
"""Accepts a `requirements.txt` file and installs the dependencies listed within.
2525
2626
Those dependencies become available in a generated `requirements.bzl` file.

‎python/pip_install/pip_repository.bzl

Copy file name to clipboardExpand all lines: python/pip_install/pip_repository.bzl
+21-4Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ exports_files(["requirements.bzl"])
122122
def _pip_repository_impl(rctx):
123123
python_interpreter = _resolve_python_interpreter(rctx)
124124

125-
if rctx.attr.incremental and not rctx.attr.requirements_lock:
126-
fail("Incremental mode requires a requirements_lock attribute be specified.")
125+
# if rctx.attr.incremental and not rctx.attr.requirements_lock:
126+
# fail("Incremental mode requires a requirements_lock attribute be specified.")
127127

128128
# We need a BUILD file to load the generated requirements.bzl
129129
rctx.file("BUILD.bazel", _BUILD_FILE_CONTENTS)
@@ -133,13 +133,24 @@ def _pip_repository_impl(rctx):
133133
annotations_file = rctx.path("annotations.json")
134134
rctx.file(annotations_file, json.encode_indent(annotations, indent = " " * 4))
135135

136+
os = rctx.os.name.lower()
137+
requirements_txt = rctx.attr.requirements
138+
139+
if os.startswith("mac os") and rctx.attr.requirements_darwin != None:
140+
requirements_txt = rctx.attr.requirements_darwin
141+
elif os.startswith("linux") and rctx.attr.requirements_linux != None:
142+
requirements_txt = rctx.attr.requirements_linux
143+
144+
if requirements_txt == None:
145+
fail("Expected platform specific requirements attribute, or requirements to be set")
146+
136147
if rctx.attr.incremental:
137148
args = [
138149
python_interpreter,
139150
"-m",
140151
"python.pip_install.parse_requirements_to_bzl",
141152
"--requirements_lock",
142-
rctx.path(rctx.attr.requirements_lock),
153+
rctx.path(requirements_txt),
143154
# pass quiet and timeout args through to child repos.
144155
"--quiet",
145156
str(rctx.attr.quiet),
@@ -159,7 +170,7 @@ def _pip_repository_impl(rctx):
159170
"-m",
160171
"python.pip_install.extract_wheels",
161172
"--requirements",
162-
rctx.path(rctx.attr.requirements),
173+
rctx.path(requirements_txt),
163174
"--annotations",
164175
annotations_file,
165176
]
@@ -277,6 +288,12 @@ pip_repository_attrs = {
277288
allow_single_file = True,
278289
doc = "A 'requirements.txt' pip requirements file.",
279290
),
291+
"requirements_darwin": attr.label(
292+
allow_single_file = True,
293+
),
294+
"requirements_linux": attr.label(
295+
allow_single_file = True,
296+
),
280297
"requirements_lock": attr.label(
281298
allow_single_file = True,
282299
doc = """

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.