aboutsummaryrefslogtreecommitdiff
path: root/tests/integration/compile_pip_requirements
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration/compile_pip_requirements')
-rw-r--r--tests/integration/compile_pip_requirements/.bazelignore4
-rw-r--r--tests/integration/compile_pip_requirements/.bazelrc5
-rw-r--r--tests/integration/compile_pip_requirements/.gitignore1
-rw-r--r--tests/integration/compile_pip_requirements/BUILD.bazel67
-rw-r--r--tests/integration/compile_pip_requirements/MODULE.bazel12
-rw-r--r--tests/integration/compile_pip_requirements/README.md3
-rw-r--r--tests/integration/compile_pip_requirements/WORKSPACE17
-rw-r--r--tests/integration/compile_pip_requirements/WORKSPACE.bzlmod0
-rw-r--r--tests/integration/compile_pip_requirements/requirements.txt1
-rw-r--r--tests/integration/compile_pip_requirements/requirements_lock.txt16
-rw-r--r--tests/integration/compile_pip_requirements/requirements_lock_darwin.txt12
-rw-r--r--tests/integration/compile_pip_requirements/requirements_lock_linux.txt12
-rw-r--r--tests/integration/compile_pip_requirements/requirements_lock_windows.txt12
-rw-r--r--tests/integration/compile_pip_requirements/requirements_nohashes_lock.txt12
14 files changed, 174 insertions, 0 deletions
diff --git a/tests/integration/compile_pip_requirements/.bazelignore b/tests/integration/compile_pip_requirements/.bazelignore
new file mode 100644
index 0000000..2261bd4
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/.bazelignore
@@ -0,0 +1,4 @@
+# While normally ignored by default, it must be explicitly
+# specified so that compile_pip_requirements_test_from_external_workspace
+# properly ignores it
+bazel-compile_pip_requirements
diff --git a/tests/integration/compile_pip_requirements/.bazelrc b/tests/integration/compile_pip_requirements/.bazelrc
new file mode 100644
index 0000000..f23315a
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/.bazelrc
@@ -0,0 +1,5 @@
+test --test_output=errors
+
+# Windows requires these for multi-python support:
+build --enable_runfiles
+startup --windows_enable_symlinks
diff --git a/tests/integration/compile_pip_requirements/.gitignore b/tests/integration/compile_pip_requirements/.gitignore
new file mode 100644
index 0000000..ac51a05
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/.gitignore
@@ -0,0 +1 @@
+bazel-*
diff --git a/tests/integration/compile_pip_requirements/BUILD.bazel b/tests/integration/compile_pip_requirements/BUILD.bazel
new file mode 100644
index 0000000..6df46b8
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/BUILD.bazel
@@ -0,0 +1,67 @@
+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",
+ src = "requirements.txt",
+ data = [
+ "requirements.in",
+ "requirements_extra.in",
+ ],
+ requirements_txt = "requirements_lock.txt",
+)
+
+compile_pip_requirements(
+ name = "requirements_nohashes",
+ src = "requirements.txt",
+ data = [
+ "requirements.in",
+ "requirements_extra.in",
+ ],
+ generate_hashes = False,
+ 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",
+ src = "requirements_os_specific.in",
+ data = [
+ "requirements_extra.in",
+ "requirements_os_specific.in",
+ ],
+ requirements_darwin = "requirements_lock_darwin.txt",
+ requirements_linux = "requirements_lock_linux.txt",
+ requirements_txt = "requirements_lock.txt",
+ requirements_windows = "requirements_lock_windows.txt",
+)
diff --git a/tests/integration/compile_pip_requirements/MODULE.bazel b/tests/integration/compile_pip_requirements/MODULE.bazel
new file mode 100644
index 0000000..a3f3d47
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/MODULE.bazel
@@ -0,0 +1,12 @@
+module(name = "compile_pip_requirements")
+
+bazel_dep(name = "rules_python", version = "0.0.0")
+local_path_override(
+ module_name = "rules_python",
+ path = "../../..",
+)
+
+python = use_extension("@rules_python//python/extensions:python.bzl", "python")
+python.toolchain(
+ python_version = "3.9",
+)
diff --git a/tests/integration/compile_pip_requirements/README.md b/tests/integration/compile_pip_requirements/README.md
new file mode 100644
index 0000000..3777624
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/README.md
@@ -0,0 +1,3 @@
+# compile_pip_requirements
+
+This test ensures that generated requirements.in can be used by compile_pip_requirements.
diff --git a/tests/integration/compile_pip_requirements/WORKSPACE b/tests/integration/compile_pip_requirements/WORKSPACE
new file mode 100644
index 0000000..5a2204b
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/WORKSPACE
@@ -0,0 +1,17 @@
+local_repository(
+ name = "rules_python",
+ path = "../../..",
+)
+
+load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains")
+
+py_repositories()
+
+load("@rules_python//python/pip_install:repositories.bzl", "pip_install_dependencies")
+
+pip_install_dependencies()
+
+python_register_toolchains(
+ name = "python39",
+ python_version = "3.9",
+)
diff --git a/tests/integration/compile_pip_requirements/WORKSPACE.bzlmod b/tests/integration/compile_pip_requirements/WORKSPACE.bzlmod
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/WORKSPACE.bzlmod
diff --git a/tests/integration/compile_pip_requirements/requirements.txt b/tests/integration/compile_pip_requirements/requirements.txt
new file mode 100644
index 0000000..4826399
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/requirements.txt
@@ -0,0 +1 @@
+-r requirements.in
diff --git a/tests/integration/compile_pip_requirements/requirements_lock.txt b/tests/integration/compile_pip_requirements/requirements_lock.txt
new file mode 100644
index 0000000..5ce7d3b
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/requirements_lock.txt
@@ -0,0 +1,16 @@
+#
+# This file is autogenerated by pip-compile with Python 3.9
+# by the following command:
+#
+# bazel run //:requirements.update
+#
+
+# The following packages are considered to be unsafe in a requirements file:
+pip==22.3.1 \
+ --hash=sha256:65fd48317359f3af8e593943e6ae1506b66325085ea64b706a998c6e83eeaf38 \
+ --hash=sha256:908c78e6bc29b676ede1c4d57981d490cb892eb45cd8c214ab6298125119e077
+ # via -r requirements.in
+setuptools==65.6.3 \
+ --hash=sha256:57f6f22bde4e042978bcd50176fdb381d7c21a9efa4041202288d3737a0c6a54 \
+ --hash=sha256:a7620757bf984b58deaf32fc8a4577a9bbc0850cf92c20e1ce41c38c19e5fb75
+ # via -r requirements_extra.in
diff --git a/tests/integration/compile_pip_requirements/requirements_lock_darwin.txt b/tests/integration/compile_pip_requirements/requirements_lock_darwin.txt
new file mode 100644
index 0000000..0428dc0
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/requirements_lock_darwin.txt
@@ -0,0 +1,12 @@
+#
+# This file is autogenerated by pip-compile with Python 3.9
+# by the following command:
+#
+# bazel run //:os_specific_requirements.update
+#
+
+# The following packages are considered to be unsafe in a requirements file:
+pip==22.2.2 ; sys_platform == "darwin" \
+ --hash=sha256:3fd1929db052f056d7a998439176d3333fa1b3f6c1ad881de1885c0717608a4b \
+ --hash=sha256:b61a374b5bc40a6e982426aede40c9b5a08ff20e640f5b56977f4f91fed1e39a
+ # via -r requirements_os_specific.in
diff --git a/tests/integration/compile_pip_requirements/requirements_lock_linux.txt b/tests/integration/compile_pip_requirements/requirements_lock_linux.txt
new file mode 100644
index 0000000..37c4d49
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/requirements_lock_linux.txt
@@ -0,0 +1,12 @@
+#
+# This file is autogenerated by pip-compile with Python 3.9
+# by the following command:
+#
+# bazel run //:os_specific_requirements.update
+#
+
+# The following packages are considered to be unsafe in a requirements file:
+pip==22.3 ; sys_platform == "linux" \
+ --hash=sha256:1daab4b8d3b97d1d763caeb01a4640a2250a0ea899e257b1e44b9eded91e15ab \
+ --hash=sha256:8182aec21dad6c0a49a2a3d121a87cd524b950e0b6092b181625f07ebdde7530
+ # via -r requirements_os_specific.in
diff --git a/tests/integration/compile_pip_requirements/requirements_lock_windows.txt b/tests/integration/compile_pip_requirements/requirements_lock_windows.txt
new file mode 100644
index 0000000..5f8e0fa
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/requirements_lock_windows.txt
@@ -0,0 +1,12 @@
+#
+# This file is autogenerated by pip-compile with Python 3.9
+# by the following command:
+#
+# bazel run //:os_specific_requirements.update
+#
+
+# The following packages are considered to be unsafe in a requirements file:
+pip==22.2.1 ; sys_platform == "win32" \
+ --hash=sha256:0bbbc87dfbe6eed217beff0021f8b7dea04c8f4a0baa9d31dc4cff281ffc5b2b \
+ --hash=sha256:50516e47a2b79e77446f0d05649f0d53772c192571486236b1905492bfc24bac
+ # via -r requirements_os_specific.in
diff --git a/tests/integration/compile_pip_requirements/requirements_nohashes_lock.txt b/tests/integration/compile_pip_requirements/requirements_nohashes_lock.txt
new file mode 100644
index 0000000..f6f0d86
--- /dev/null
+++ b/tests/integration/compile_pip_requirements/requirements_nohashes_lock.txt
@@ -0,0 +1,12 @@
+#
+# This file is autogenerated by pip-compile with Python 3.9
+# by the following command:
+#
+# bazel run //:requirements_nohashes.update
+#
+
+# The following packages are considered to be unsafe in a requirements file:
+pip==22.3.1
+ # via -r requirements.in
+setuptools==65.6.3
+ # via -r requirements_extra.in