feat: allow extra dependencies to be passed to pip-compile (#1026)
* feat: allow extra dependencies to be passed to pip-compile
Signed-off-by: Thulio Ferraz Assis <3149049+f0rmiga@users.noreply.github.com>
* fix: update docs
Signed-off-by: Thulio Ferraz Assis <3149049+f0rmiga@users.noreply.github.com>
---------
Signed-off-by: Thulio Ferraz Assis <3149049+f0rmiga@users.noreply.github.com>
diff --git a/docs/pip.md b/docs/pip.md
index 93bc7f0..2f5b92e 100644
--- a/docs/pip.md
+++ b/docs/pip.md
@@ -29,9 +29,9 @@
## compile_pip_requirements
<pre>
-compile_pip_requirements(<a href="#compile_pip_requirements-name">name</a>, <a href="#compile_pip_requirements-extra_args">extra_args</a>, <a href="#compile_pip_requirements-py_binary">py_binary</a>, <a href="#compile_pip_requirements-py_test">py_test</a>, <a href="#compile_pip_requirements-requirements_in">requirements_in</a>, <a href="#compile_pip_requirements-requirements_txt">requirements_txt</a>,
- <a href="#compile_pip_requirements-requirements_darwin">requirements_darwin</a>, <a href="#compile_pip_requirements-requirements_linux">requirements_linux</a>, <a href="#compile_pip_requirements-requirements_windows">requirements_windows</a>, <a href="#compile_pip_requirements-visibility">visibility</a>,
- <a href="#compile_pip_requirements-tags">tags</a>, <a href="#compile_pip_requirements-kwargs">kwargs</a>)
+compile_pip_requirements(<a href="#compile_pip_requirements-name">name</a>, <a href="#compile_pip_requirements-extra_args">extra_args</a>, <a href="#compile_pip_requirements-extra_deps">extra_deps</a>, <a href="#compile_pip_requirements-py_binary">py_binary</a>, <a href="#compile_pip_requirements-py_test">py_test</a>, <a href="#compile_pip_requirements-requirements_in">requirements_in</a>,
+ <a href="#compile_pip_requirements-requirements_txt">requirements_txt</a>, <a href="#compile_pip_requirements-requirements_darwin">requirements_darwin</a>, <a href="#compile_pip_requirements-requirements_linux">requirements_linux</a>,
+ <a href="#compile_pip_requirements-requirements_windows">requirements_windows</a>, <a href="#compile_pip_requirements-visibility">visibility</a>, <a href="#compile_pip_requirements-tags">tags</a>, <a href="#compile_pip_requirements-kwargs">kwargs</a>)
</pre>
Generates targets for managing pip dependencies with pip-compile.
@@ -53,6 +53,7 @@
| :------------- | :------------- | :------------- |
| <a id="compile_pip_requirements-name"></a>name | base name for generated targets, typically "requirements". | none |
| <a id="compile_pip_requirements-extra_args"></a>extra_args | passed to pip-compile. | <code>[]</code> |
+| <a id="compile_pip_requirements-extra_deps"></a>extra_deps | extra dependencies passed to pip-compile. | <code>[]</code> |
| <a id="compile_pip_requirements-py_binary"></a>py_binary | the py_binary rule to be used. | <code><function py_binary></code> |
| <a id="compile_pip_requirements-py_test"></a>py_test | the py_test rule to be used. | <code><function py_test></code> |
| <a id="compile_pip_requirements-requirements_in"></a>requirements_in | file expressing desired dependencies. | <code>None</code> |
diff --git a/python/pip_install/requirements.bzl b/python/pip_install/requirements.bzl
index 32ee063..35399da 100644
--- a/python/pip_install/requirements.bzl
+++ b/python/pip_install/requirements.bzl
@@ -20,6 +20,7 @@
def compile_pip_requirements(
name,
extra_args = [],
+ extra_deps = [],
py_binary = _py_binary,
py_test = _py_test,
requirements_in = None,
@@ -44,6 +45,7 @@
Args:
name: base name for generated targets, typically "requirements".
extra_args: passed to pip-compile.
+ extra_deps: extra dependencies passed to pip-compile.
py_binary: the py_binary rule to be used.
py_test: the py_test rule to be used.
requirements_in: file expressing desired dependencies.
@@ -97,7 +99,7 @@
requirement("importlib_metadata"),
requirement("zipp"),
requirement("more_itertools"),
- ]
+ ] + extra_deps
attrs = {
"args": args,