From 1ed74892dcee4407b6055d7f3ac0c3ecde945a13 Mon Sep 17 00:00:00 2001 From: Globegitter Date: Wed, 23 May 2018 17:56:51 +0200 Subject: [PATCH] All environment variables and extra args to be passed to pip. --- python/pip.bzl | 9 +++++++-- rules_python/piptool.py | 4 ++-- tools/piptool.par | Bin 5879466 -> 5879524 bytes 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/python/pip.bzl b/python/pip.bzl index 237b7d2baa..8a385ce166 100644 --- a/python/pip.bzl +++ b/python/pip.bzl @@ -23,13 +23,16 @@ def _pip_import_impl(repository_ctx): repository_ctx.file("BUILD", "") # To see the output, pass: quiet=False - result = repository_ctx.execute([ + result = repository_ctx.execute( + [ "python", repository_ctx.path(repository_ctx.attr._script), "--name", repository_ctx.attr.name, "--input", repository_ctx.path(repository_ctx.attr.requirements), "--output", repository_ctx.path("requirements.bzl"), "--directory", repository_ctx.path(""), - ]) + ] + repository_ctx.attr.extra_args, + environment = repository_ctx.attr.environment, + ) if result.return_code: fail("pip_import failed: %s (%s)" % (result.stdout, result.stderr)) @@ -41,6 +44,8 @@ pip_import = repository_rule( mandatory = True, single_file = True, ), + "environment": attr.string_dict(), + "extra_args": attr.string_list(), "_script": attr.label( executable = True, default = Label("//tools:piptool.par"), diff --git a/rules_python/piptool.py b/rules_python/piptool.py index f5d504aa87..51525f61f8 100644 --- a/rules_python/piptool.py +++ b/rules_python/piptool.py @@ -151,10 +151,10 @@ def is_possible(distro, extra): } def main(): - args = parser.parse_args() + args, unkwown = parser.parse_known_args() # https://github.com/pypa/pip/blob/9.0.1/pip/__init__.py#L209 - if pip_main(["wheel", "-w", args.directory, "-r", args.input]): + if pip_main(["wheel", "-w", args.directory,] + unkwown + ["-r", args.input]): sys.exit(1) # Enumerate the .whl files we downloaded. diff --git a/tools/piptool.par b/tools/piptool.par index 11ec453cd739666539b47b41bdd3e783a6929200..76241ff61d75c8da5acdf878b95a3bec8009591b 100755 GIT binary patch delta 8180 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