From 670e1e082ecd4a14845cf1175a8370252d3ffc13 Mon Sep 17 00:00:00 2001 From: Dan Fleming Date: Tue, 8 Sep 2020 15:19:01 -0400 Subject: [PATCH 1/3] Don't parse stub file if interpreter is explicitly provided --- compiler/cli.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/compiler/cli.py b/compiler/cli.py index d1fcb59..2456498 100644 --- a/compiler/cli.py +++ b/compiler/cli.py @@ -58,7 +58,7 @@ def make_command_line_parser(): required=True) parser.add_argument( '--stub_file', - help='Read imports and interpreter path from the specified stub file', + help='Read interpreter path from the specified stub file', required=True) parser.add_argument( '--interpreter', @@ -156,10 +156,7 @@ def main(argv): args = parser.parse_args(argv[1:]) # Parse interpreter from stub file that's not available in Starlark - interpreter = parse_stub(args.stub_file) - - if args.interpreter: - interpreter = args.interpreter + interpreter = args.interpreter or parse_stub(args.stub_file) par = python_archive.PythonArchive( main_filename=args.main_filename, From c9972e5016885662fe4e980281714492e469d7c8 Mon Sep 17 00:00:00 2001 From: Dan Fleming Date: Tue, 8 Sep 2020 15:28:09 -0400 Subject: [PATCH 2/3] Update subpar.bzl --- subpar.bzl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/subpar.bzl b/subpar.bzl index 9146e00..10b517c 100644 --- a/subpar.bzl +++ b/subpar.bzl @@ -89,6 +89,8 @@ def _parfile_impl(ctx): ] for import_root in import_roots: args.extend(['--import_root', import_root]) + if ctx.attr.interpreter: + args.extend(['--interpreter', ctx.attr.interpreter]) args.append(main_py_file.path) # Run compiler @@ -137,6 +139,7 @@ parfile_attrs = { cfg = "host", ), "compiler_args": attr.string_list(default = []), + "interpreter": attr.string(), "zip_safe": attr.bool(default = True), } From 717b0c5ab6adeb4f53b762c0db3918f9d5e89cd5 Mon Sep 17 00:00:00 2001 From: Dan Fleming Date: Wed, 16 Sep 2020 12:25:53 -0400 Subject: [PATCH 3/3] Update subpar.bzl --- subpar.bzl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/subpar.bzl b/subpar.bzl index 10b517c..5698269 100644 --- a/subpar.bzl +++ b/subpar.bzl @@ -208,6 +208,7 @@ def par_binary(name, **kwargs): """ compiler = kwargs.pop("compiler", None) compiler_args = kwargs.pop("compiler_args", []) + interpreter = kwargs.pop("interpreter", None) zip_safe = kwargs.pop("zip_safe", True) py_binary(name = name, **kwargs) @@ -222,6 +223,7 @@ def par_binary(name, **kwargs): compiler_args = compiler_args, default_python_version = default_python_version, imports = imports, + interpreter = interpreter, main = main, name = name + ".par", src = name, @@ -238,6 +240,7 @@ def par_test(name, **kwargs): specifically need to test a module's behaviour when used in a .par binary. """ compiler = kwargs.pop("compiler", None) + interpreter = kwargs.pop("interpreter", None) zip_safe = kwargs.pop("zip_safe", True) py_test(name = name, **kwargs) @@ -251,6 +254,7 @@ def par_test(name, **kwargs): compiler = compiler, default_python_version = default_python_version, imports = imports, + interpreter = interpreter, main = main, name = name + ".par", src = name,