aboutsummaryrefslogtreecommitdiff
path: root/tests/compile_pip_requirements/BUILD.bazel
diff options
context:
space:
mode:
Diffstat (limited to 'tests/compile_pip_requirements/BUILD.bazel')
-rw-r--r--tests/compile_pip_requirements/BUILD.bazel79
1 files changed, 79 insertions, 0 deletions
diff --git a/tests/compile_pip_requirements/BUILD.bazel b/tests/compile_pip_requirements/BUILD.bazel
new file mode 100644
index 0000000..ad5ee1a
--- /dev/null
+++ b/tests/compile_pip_requirements/BUILD.bazel
@@ -0,0 +1,79 @@
+load("@rules_python//python:pip.bzl", "compile_pip_requirements")
+
+genrule(
+ name = "generate_requirements_extra_in",
+ srcs = [],
+ outs = ["requirements_extra.in"],
+ cmd = "echo 'setuptools~=65.6.3' > $@",
+)
+
+genrule(
+ name = "generate_requirements_in",
+ srcs = [],
+ outs = ["requirements.in"],
+ cmd = """
+cat > $@ <<EOF
+-r requirements_extra.in
+pip~=22.3.1
+EOF
+""",
+)
+
+compile_pip_requirements(
+ name = "requirements",
+ data = [
+ "requirements.in",
+ "requirements_extra.in",
+ ],
+ extra_args = [
+ "--allow-unsafe",
+ "--resolver=backtracking",
+ ],
+ requirements_in = "requirements.txt",
+ requirements_txt = "requirements_lock.txt",
+)
+
+compile_pip_requirements(
+ name = "requirements_nohashes",
+ data = [
+ "requirements.in",
+ "requirements_extra.in",
+ ],
+ extra_args = [
+ "--allow-unsafe",
+ "--resolver=backtracking",
+ ],
+ generate_hashes = False,
+ requirements_in = "requirements.txt",
+ requirements_txt = "requirements_nohashes_lock.txt",
+)
+
+genrule(
+ name = "generate_os_specific_requirements_in",
+ srcs = [],
+ outs = ["requirements_os_specific.in"],
+ cmd = """
+cat > $@ <<EOF
+pip==22.3.0 ; sys_platform == "linux"
+pip==22.2.2 ; sys_platform == "darwin"
+pip==22.2.1 ; sys_platform == "win32"
+EOF
+""",
+)
+
+compile_pip_requirements(
+ name = "os_specific_requirements",
+ data = [
+ "requirements_extra.in",
+ "requirements_os_specific.in",
+ ],
+ extra_args = [
+ "--allow-unsafe",
+ "--resolver=backtracking",
+ ],
+ requirements_darwin = "requirements_lock_darwin.txt",
+ requirements_in = "requirements_os_specific.in",
+ requirements_linux = "requirements_lock_linux.txt",
+ requirements_txt = "requirements_lock.txt",
+ requirements_windows = "requirements_lock_windows.txt",
+)